SaveAsUI ist immer True
11.08.2020 10:17:00
Willi
ich habe eine Arbeitsmappe, die nach 5 min ohne Änderung/Benutzung über ChangeFileAccess in den Schreibgeschützten Modus wechselt. Nun möchte ich das Speichern unterbinden, wenn die Datei schreibgeschützt ist, also auch das Speichern unter.
Das ganz normale Speichern wird dann ja von Excel automatisch unterbunden und es erscheint eine Meldung.
Bleibt nur noch das Speicher unter. Dies wollte ich im BeforeSave-Event mit folgendem Code _ abfangen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ThisWorkbook.ReadOnly = True Then
Cancel = True
If SaveAsUI = True Then
MsgBox "Die Arbeitsmappe befindet sich im schreibgeschützten Modus." & vbNewLine & _
"Änderungen können nicht gespeichert werden.", vbOKOnly, "Arbeitsmappe im Schreibschutz"
End If
End If
End Sub
Wenn ich die SaveAsUI-Abfrage nicht mache, würde beim normalen Speichern eine Meldung von Excel erscheinen, dass aufgrund des Schreibschutzes nicht gespeichert werden kann und meine Meldung aus dem Code auch nochmal auftauchen.
Mein Problem ist, dass SaveAsUI immer True ist, wenn die Datei schreibgeschützt ist, ob ich nun einfach speichere oder die Tastenkombination Strg+S verwende oder auf Speicher unter gehe. Mit SaveAsUI kann ich doch abfragen, ob der Speichern unter Dialog aufgerufen wurde, oder verstehe ich da was falsch?
Gruß,
Willi