Ich will in einer Datei den Speichern-Dialog abfangen, da der Blattschutz vor dem Speichern _ wieder gesetzt werden soll. Der Code sieht vereinfacht so aus:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.Sheets(1).Protect
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
ThisWorkbook.Sheets(1).Unprotect
ThisWorkbook.Saved = True
Cancel = True
End Sub
Das funktioniert wunderbar beim Speichern, sobald aber ein Speichern vor dem Beenden kommt, erscheint die "Sollen die Änderungen gespeichert werden" Abfrage immer und immer wieder, bis ich auf Abbrechen oder Nein drücke. Nach dem Druck auf Abbrechen kommt die Abfrage übrigens nicht mehr, wenn ich die Arbeitsmappe ohne weitere Änderungen schliesse. Habe das auch schon auf anderen PCs getestet, ist genau dasselbe.
Was mache ich hier falsch? Ich kann es in Before_Close natürlich auch noch abfangen, ist kein Problem und funktioniert auch. Nur von der Logik her sollte das eigentlich nicht nötig sein. Oder wird die Saved-Egenschaft etwa erst nach Abschluss der ganzen Operation übernommen?
Danke und Gruss, Jogy