Workbook_BeforeClose wird 2x aufgerufen
13.03.2006 11:35:53
Jens
ich habe eine Workbook_BeforeClose geschrieben, deren Aktionen ausgeführt werden sollen, unabhängig davon, ob Änderungen in der Datei gespeichert werden oder nicht.
Ich frage also mit einer MsgBox ab, ob der User Änderungen speichern oder verwerfen will, und abhängig davon wird die Variable blnSaveChanges gesetzt; bei Abbrechen wird die Prozedur sofort verlassen (und Cancel auf True gesetzt).
Nach Ausführen einiger Aktionen in Workbook_BeforeClose (nach der MsgBox) hätte ich mir gedacht, dass folgende Code-Zeile das tut, was ich will (nämlich Arbeitsmappe speichern und schließen oder nicht-speichern und schließen):
ThisWorkbook.Close SaveChanges:=blnSaveChanges
Das Problem:
Blöderweise ruft .Close die Workbook_BeforeClose-Methode noch einmal auf... Die VBA-Hilfe meint dazu lapidar:
"Wird eine Arbeitsmappe aus Visual Basic heraus geschlossen, werden keine Auto_schließen-Makros in der Arbeitsmappe ausgeführt." Werden sie aber doch...
Vielen Dank für eure Hilfe!
Jens