Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makros aktivieren = deaktivieren, dann schliessen?

Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 12:20:00
TK
Hallo zusammen,
ich habe eine Frage bitte.
Ich habe eine Datei mit nicht unwichtigen Daten. In der Datei arbeiten jedoch ein dutzend Leute. Nun möchte ich folgendes mit Hilfe eines Makros erreichen:
Beim Öffnen der Datei soll eine Sicherungskopie erstellt werden. Die normale Funktion, die eine Sicherungskopie erstellt überschreibt ja immer die in meinem Fall bereits bestehende. Mittels eines Makros möchte ich also erreichen, dass eine Kopie z.B. mit dem Dateinamen 2008-12-10-12-14-59-user123.xls erstellt wird.
Dazu müssen natürlich Makros aktiviert sein. Die Sicherheitseinstellungen kann ich nicht (!) auf niedrig heruntersetzen, daher möchte ich, dass meine Datei nicht (!) geöffnet wird, wenn ein User bei der Abfrage, ob Makros aktiviert werden sollen auf "Makros deaktivieren" klickt.
Gibt es diese Möglichkeit und fall ja, wie setze ich dies um?
Vielen Dank,
Thomas
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 12:47:00
Luschi
Hallo Thomas,
hier muß man mit einem kleinen Umweg arbeiten. Beim Schließen der Arbeitsmappe werden alle Blätter bis auf eines auf unsichtbar gestellt. Auf diesem Blatt kommt eine Meldung, daß die Makros nicht aktiviert wurden. Werden nun beim erneuten Öffnen der Arbeitsmappe die Makros nicht aktiviert, dann sieht der User nur das eine Blatt mit dem passenden Spruch. Aktiviert er aber die Makros, dann wird dieses Blatt unsichtbar und alle anderen Blätter kommen zum vorschein.
Da die Blätter mit 'xlSheetVeryHidden' unsichtbar gemacht werden, kann man diese auch nur per Vba wieder sichtbar machen.
Hier ein kleines Beispiel: https://www.herber.de/bbs/user/57512.xls
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 12:55:31
Tino
Hallo,
hier mal eine ganz einfache Möglichkeit.
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
Schutz True 
ThisWorkbook.Save 
End Sub 
 
Private Sub Workbook_Open() 
ThisWorkbook.SaveCopyAs "C:\" & Format(Now, "dd-mm-yyyy hh-mm ") & Environ("Username") & ".xls" 
Schutz False 
End Sub 
 
Sub Schutz(Schutz As Boolean) 
Dim i As Integer 
 
For i = 1 To ThisWorkbook.Sheets.Count 
 If Schutz = True Then 
  Sheets(i).Protect "Passwort" 
 Else 
  Sheets(i).Unprotect "Passwort" 
 End If 
Next i 
 
End Sub 


Grundsätzlich sind alle Tabellen geschützt, wird nun die Tabelle mit Makros geöffnet, wird der Schutz aufgehoben und die Sicherheitskopie wird angelegt.
Wird die Datei ohne Makros geöffnet, wird der Schutz auch nicht aufgehoben.
Nun könnte man noch eine Information anzeigen, die bei aktiven Makro ausgeblendet wird und bei inaktiven Makro eingeblendet bleibt und den User darüber informiert, dass die Datei nur mit aktiven Makro bearbeitet werden kann.
Gruß Tino

Anzeige
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 17:41:00
Gerd
Hi,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Schutz True
ThisWorkbook.Save
End Sub


Das ist einfach nur schlecht, Zwangsspeicherung ob User will oder nicht, grausam.
Und wenn schon dann so:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Schutz True
If Not Me Saved Then Me.Save
End Sub


...dann wird wirklich nur gespeichert, wenn auch was verändert wurde.
mfg Gerd

Anzeige
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 18:01:17
Tino
Hallo Gerd,
und was macht der Schutz beim nicht speichern, wen zuvor von Hand gespeichert wurde?

Und wenn schon dann so:
Schutz True
If Not Me.Saved Then Me.Save 


Was soll dieser Quatsch verändern? Nichts es wird auch immer gespeichert ;-)
Gruß Tino

Anzeige
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 18:35:16
Gerd
Hi,
hatte vorausgesetzt, dass du verstehst, aber na ja...
mfg Gerd
AW: Makros aktivieren = deaktivieren, dann schliessen?
10.12.2008 18:41:08
Tino
Hallo Gerd,
was gibt es da zu verstehen?

Schutz True
If Not Me.Saved Then Me.Save

bewirkt nichts anderes wie
Schutz True
Me.Save

Wie würdest Du es machen, Schutz setzen ohne speichern? Vielleicht lern ich was dazu!
Gruß Tino
Anzeige
geschlossen
14.12.2008 10:10:23
Gerd
Hi,
starten der Mappe durch exe oder VBS, dann werden die Makros nicht deaktiviert.
mfg Gerd
AW: geschlossen
14.12.2008 10:32:00
Tino
Hallo,
bei den meisten Firmen (auch bei meiner) werden Skripte geblockt und das anwenden nicht genehmigter Software ist auch verboten!
Gruß Tino

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makros in Excel aktivieren und deaktivieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu Datei > Optionen.
  2. Wähle im Menü Trustcenter und klicke auf Trustcenter-Einstellungen.
  3. Gehe zu Makroeinstellungen und wähle die gewünschte Option:
    • Alle Makros deaktivieren (nicht empfohlen).
    • Alle Makros mit Benachrichtigung deaktivieren (empfohlen).
    • Alle Makros aktivieren (nicht sicher).
  4. Bestätige mit OK und schließe die Optionen.

Um spezifische Makros zu aktivieren, kannst du die Tastenkombination Alt + F8 verwenden, um das Makro-Dialogfeld zu öffnen.


Häufige Fehler und Lösungen

Fehler: „Aufgrund der Sicherheitseinstellungen wurden Makros deaktiviert“.

Lösung: Überprüfe die Trustcenter-Einstellungen wie oben beschrieben. Stelle sicher, dass du die richtige Option für die Aktivierung von Makros wählst.

Fehler: „Die Makros in diesem Projekt sind deaktiviert Excel“.

Lösung: Stelle sicher, dass die Datei nicht von einem Unternehmensadministrator blockiert wurde. Überprüfe die Makroeinstellungen und aktiviere sie gegebenenfalls.


Alternative Methoden

Wenn du Excel Makros deaktivieren möchtest, kannst du dies auch über die Makros-Leiste tun:

  1. Gehe zu Entwicklertools > Makros.
  2. Wähle das gewünschte Makro aus und klicke auf Deaktivieren.

Eine andere Möglichkeit besteht darin, die Datei als .xlsm zu speichern, wenn Makros enthalten sind, damit sie beim nächsten Öffnen nicht deaktiviert werden.


Praktische Beispiele

Hier ist ein einfaches Beispiel für ein Excel-Makro, das beim Öffnen der Datei eine Sicherungskopie erstellt:

Private Sub Workbook_Open()
    ThisWorkbook.SaveCopyAs "C:\" & Format(Now, "dd-mm-yyyy hh-mm") & Environ("Username") & ".xls"
End Sub

Wenn die Makros nicht aktiviert sind, wird beim Öffnen der Datei eine Meldung angezeigt, die den Benutzer darüber informiert, dass die Datei nur mit aktiven Makros bearbeitet werden kann.


Tipps für Profis

  • Makros dauerhaft aktivieren: Du kannst die Makros so einstellen, dass sie immer aktiv sind, indem du die Trustcenter-Einstellungen entsprechend konfigurierst.
  • Sicherungskopien deaktivieren: Wenn du Sicherungskopien nicht mehr benötigst, deaktiviere sie in den Excel-Optionen unter Speichern.
  • Sicherheit erhöhen: Verwende digitale Signaturen für deine Makros, um die Sicherheit zu erhöhen und unbefugten Zugriff zu verhindern.

FAQ: Häufige Fragen

1. Wie aktiviere ich Makros in Excel?
Du kannst Makros aktivieren, indem du zu Datei > Optionen > Trustcenter gehst und die entsprechenden Einstellungen unter Makroeinstellungen anpasst.

2. Was tun, wenn Excel Makros deaktiviert wurden?
Überprüfe die Sicherheitseinstellungen im Trustcenter und stelle sicher, dass die Makros nicht von deinem Unternehmensadministrator blockiert wurden.

3. Wie kann ich Excel Makros dauerhaft aktivieren?
Um Excel Makros dauerhaft zu aktivieren, wähle die Option „Alle Makros aktivieren“ im Trustcenter aus. Beachte, dass dies sicherheitsrelevant ist.

4. Wie deaktiviere ich spezifische Makros?
Du kannst spezifische Makros im Makro-Dialogfeld unter Entwicklertools > Makros auswählen und deaktivieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige