Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vor dem Speichern Arbeitsmappenschutz entfernen

Vor dem Speichern Arbeitsmappenschutz entfernen
Larisch
Hallo zusammen,
ich versuche das Problem der deaktivierten Makros in Excel 2007 bei aktiviertem Arbeitsmappenschutz zu umgehen.
Daher möchte ich vor jedem Speichern den Arbeitsmappenschutz entfernen, dann die Datei speichern und danach den Arbeitsmappenschutz wieder setzen.
Anbei mein Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
pwd = Variablen01.Range("rV1.Passwort")
Cancel = True
ActiveWorkbook.Unprotect Password:=pwd
Application.EnableEvents = False
If SaveAsUI = True Then
Application.Dialogs(xlDialogSaveAs).Show
Else
ActiveWorkbook.Save
ActiveWorkbook.Saved = True
End If
Application.EnableEvents = True
ActiveWorkbook.Protect Password:=pwd
End Sub

Das funktionert beim normalen Speichern ohne Probleme. Das Problem ist das schliesen von Excel. Wenn ich auf die Frage ob ich die änderungen Speichern möchte mit ja Antworte springt er immer wieder in die BeforeSave funktion und fragt danach wieder ob ich die Änderungen Spiechern will...
Das Problem dachte ich mit einer angepassten BeforeClose abfangen zu können..

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False
End Sub

Das klappt auch. Jetzt kommt nur 1x das Speichern. Allerdings sind jetzt in der geöffneten Excel Application die Events Deaktiviert.. das ist natürlich auch nicht optimal.
Kann mir jemand hier weiterhelfen? oder hat jemand eine ganz andere funktioniernde Lösung für das Excel 2007 / Makro / Arbeitsmappenschutz Problem ?
Vielen Dank
Henrik

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Vor dem Speichern Arbeitsmappenschutz entfernen
13.07.2010 18:31:51
Hajo_Zi
Hallo Henrik,
ergänze am Ende die Zeile
ThisWorkbook.Saved=true
Gruß Hajo
AW: Vor dem Speichern Arbeitsmappenschutz entfernen
13.07.2010 20:00:35
Larisch
Hallo Hajo,
vielen Dank für deine schnelle Antwort.
Wo soll ich die Zeile hinzufügen?
im BeforeSave habe ich bereits
ActiveWorkbook.Saved = True
stehen.
Wenn ich es in das BeforeClose eintrage speichert er die Anwendung ja überhaupt nicht mehr.
Gruß Henrik
AW: Vor dem Speichern Arbeitsmappenschutz entfernen
13.07.2010 20:14:51
Hajo_Zi
Hallo Henrik,
aber an der falschen Stelle, da Du noch Veränderungen vornimmst.
Gruß Hajo
Anzeige
AW: Vor dem Speichern Arbeitsmappenschutz entfernen
14.07.2010 08:51:19
Larisch
OK stimmt danke..
leider bleibt das Problem das gleiche. Ich habe jetzt folgenden Code im BeforeSave (siehe unten). Wenn ich im BeforeClose nicht "Application.EnableEvents = False" setze kommt die Speichernmeldung beim Schliesen des Workbooks immer wieder...
Ich kann das Workbook dann nur schliesen wenn ich auf "nicht Speichern" klicke.
Gibt es eine Möglichkeit nach dem Schliesen des Workbooks die Events wieder zu aktivieren, damit man in der Excel Applikation weiterarbeiten kann?
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
pwd = ".."
Cancel = True
ActiveWorkbook.Unprotect Password:=pwd
Application.EnableEvents = False
If SaveAsUI = True Then
Application.Dialogs(xlDialogSaveAs).Show
Else
ActiveWorkbook.Save
End If
Application.EnableEvents = True
ActiveWorkbook.Protect Password:=pwd
ActiveWorkbook.Saved = True
End Sub
Mein Before Close sieht jetzt so aus..
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlCalculationManual
'Application.EnableEvents = False
End Sub

Vielen Dank für deine Hilfe
Gruß Henrik
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige