Speicheraufforderung nach Aktivierung aktiver Inhalte
21.11.2024 23:28:57
StefanoFereri
beim Schließen einer Excel-Datei mit VBA-Code werde ich zum Speichern aufgefordert, obwohl ich keinerlei Änderungen vorgenommen habe. Konkret: Es gibt eine Workbook_open-Prozedur, und deren letzte Anweisung lautet: ThisWorkbook.saved = True. Damit führen die speicherrelevanten Änderungen, die in dieser Prozedur vorgenommen werden, zunächst beim Schließen nicht zu einer Speicheranfrage, wie erwartet.
Ändere ich anschließend den Dateinamen und öffne die Datei erneut, kommt es zunächst zum obligatorischen Sicherheitshinweis auf aktive Inhalte. Ebenfalls noch wie erwartet. Wenn ich dann aber die Aktivierung der Inhalte zulasse und die Datei nach dem Öffnen sofort ohne weitere Änderung wieder schließe, gibt es die unerwartete Speicheraufforderung.
Um sicherzustellen, dass es nach der WB_Open-Prozedur keine offenen Änderungen gibt, habt ich zum Debuggen als letzte Zeile der Prozedur eine Msgbox eingefügt, die in allen Fällen den Status "True" zurückgibt:
Private Sub Workbook_Open()
Dim Delim as Integer, ReNr As Integer
MsgBox ThisWorkbook.Saved
Application.ScreenUpdating = False
.
.
.
Application.ScreenUpdating = True
Application.OnKey "~", "EnterTaste"
Application.OnKey "{Enter}", "EnterTaste"
ThisWorkbook.Saved = True
MsgBox ThisWorkbook.Saved
End Sub
Hat jemand eine Idee, woran das liegen könnte?
Vielleicht noch ein Hinweis: Auch am Anfang steht eine MsgBox, und die wirft tatsächlich nach einer Änderung des Dateinamens ein "False" aus. Aber das wird dann am Ende der Prozedur korrekt wieder zurückgesetzt. Anscheinend wird irgendwo an einer für mich nicht erkennbaren Stelle im Projekt noch eine Änderung durchgeführt, die durch ThisWorkbook.Saved nicht zurückgesetzt werden kann.
Vielen Dank schon mal für einen Tipp,
Stefano
Anzeige