Workbook_beforeClose umgehen
21.01.2008 11:51:00
Buerger
ich verzweifle schon seit Tagen an einem VBA-Problem:
Ich habe einen VBA-Code, der eine Workbook_BeforeClose-Prozedur enthaelt. Nun moechte ich, dass nach dem Ansteuern einer bestimmten Prozedur X das aktive Excel-Dokument geschlossen wird:
actualfilename = Application.ActiveWorkbook.Name
Workbooks(actualfilename).Close
Das Problem: die Workbook_BeforeClose-Prozedur haengt sich hier immer auf, weil ich noch einen Wert in der zu schliessenden Datei speichern will.
Worksheets("milestones").Cells(4, 6).Value = Now
Dieser Wert muss aber nicht gespeichert werden, wenn ich die Prozedur X aufrufe.
1) Am besten waere es, wenn ich in der Prozedur X einen Befehl schreiben koennte, der das Ausfuehren der Workbook_BeforeClose-Prozedur verhindert. Kann mir jemand helfen?
2) Oder gibt es eine Alternative zum Close-Befehl, der die Workbook_BeforeClose-Prozedur vor dem Schliessen abarbeitet? (QUIT funktioniert leider nur fuer "Application").
Folgende Loesungen funktionieren nicht:
Loesung 1:
Application.quit
- Excel darf nicht geschlossen werden, weil ein anderes Dokument noch offen ist
Loesung 2:
if-then-Beziehung in der Workbook_BeforeClose-Prozedur (ich definiere in der Prozedur x, dass eine public-Variable=1 ist und setze den Inhalt der Workbook_BeforeClose-Prozedur in
if x=1 then
...
end if)
- funktioniert nicht, wahrscheinlich ist der Speicher schon geloescht. Alles zw. if und then wird immer abgearbeitet.
Besten Dank
Marco