Workbook_BeforeClose ansprechen
01.10.2003 16:59:21
Roland Hochhäuser
ich suche den VBA-Code, der dem Schließen einer Datei durch Anklicken des Kreuzes (rechts oben) entspricht. Kennt den jemand und könnte ihn posten?
Hintergrund: Ich habe die Workbook_Open und _BeforeClose-Ereignisse einer Excel-Datei mit diversen Anweisungen und Makroaufrufen zur (Wieder-) Herstellung einer Arbeitsumgebung versehen. Zudem habe ich im BeforeClose-Ereignis eine Abfrage beim Schließen der Datei mit entsprechender Verzweigung eingebaut.
Im Einzelschritt funktioniert alles bestens. Auch wenn ich das Schließkreuz der Datei oder das von Excel anklicke, funktioniert es bestens.
Will ich jedoch (nur) die Datei über einen Menübefehl schließen (z.B. ThisWorkbook.Close oder ActiveWorkbook.Close), werden zwar im Einzelschritt alle Befehle angesprungen, aber nur zum Teil ausgeführt. "Vergessen" wird z.B. das (Un-)Sichtbarmachen von Arbeitsblättern. An den Aufrufen oder deren Reihenfolge kann es nicht liegen, da diese bei Betätigung des Schließkreuzes funktionieren.
Excel wird durch Application.Quit geschlossen. Gibt es einen vergleichbaren Befehl auch für das Schließen einer Datei? Für meine Zwecke würde es wahrscheinlich auch genügen, direkt das BeforeClose-Ereignis anzusprechen, aber wie? Ein schlichtes Call Workbook_BeforeClose funktioniert nicht; egal ob ich das Private wegnehme oder es durch Public ersetze, Excel behauptet jedesmal, die Sub nicht zu finden.
Ich habe eine halbe Nachtschicht mit diesem Detail verbracht und keine große Lust auf eine zweite, möchte es aber hinbekommen.
Wäre schön, wenn mir jemand helfen könnte.
Etwas ratlos
Roland Hochhäuser