Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Enable Events und Speichern/Schließen

Forumthread: Enable Events und Speichern/Schließen

Enable Events und Speichern/Schließen
03.02.2003 13:57:07
Falko
Hallo!
Ich denke fast, ich bin zu blöd, da ich in den zahlreichen Einträgen, die sich mit dem Thema befassen nichts gefunden habe. Ich muss also (erneut) folgendes Fragen:

Ich habe den close und den save Parameter in der Arbeitsmappe durch 'cancel=True' abgefangen - soweit so gut.

Jetzt habe ich folgendes Modul erstellt, in dem ich ausschließlich das Speichern und Verlassen durch eine Schaltfläche ermöglichen möchte:

Sub Speichern_Schliessen()

Application.ScreenUpdating = False
Application.EnableEvents = False

' Beim Start erstellte Befehlsleiste löschen

On Error Resume Next
Application.CommandBars("GLAZ").Delete
On Error GoTo 0

' Fenster-Titelleiste zurücksetzen

Application.Caption = Empty

' Datei beim Verlassen automatisch speichern

Application.CommandBars("Worksheet Menu Bar").Visible = True
ActiveWindow.DisplayHeadings = True

ActiveWorkbook.Protect Structure:=False, Windows:=False

Application.EnableEvents = True
Application.ScreenUpdating = True

On Error GoTo ERRORHANDLER
Application.CutCopyMode = False
ActiveWorkbook.Close True
Exit Sub
ERRORHANDLER:
MsgBox "Speichern nicht möglich!"

End Sub

Wichtig ist mir dabei, daß durch 'enableevents=false' die beforeclose und die beforesave Routinen übergangen werden. Jetzt schließt sich meine Datei jedoch nach 'ActiveWorbook.Close True' selbständig und läßt Excel im 'enableevents=false'-Zustand, so dass in der weiteren Arbeit kein VBA mehr ausgeführt wird.

Wie kann ich nach dem Schließen/Speichern enableevents wieder auf true setzen?

Vielen Dank schon jetzt für Unterstützung.
Falko

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Enable Events und Speichern/Schließen
03.02.2003 18:05:13
Nepumuk

Hallo Falko,
so geht's:

Im Modul "Diese Arbeitsmappe":

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not schliessen_ok Then Cancel = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not schliessen_ok Then Cancel = True
End Sub

In einem "normalen Modul":

Option Explicit
Public schliessen_ok As Boolean
Public Sub spe()
schliessen_ok = True
ThisWorkbook.Close True
End Sub

Gruß
Nepumuk

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige