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