In Workbook_Open() weitere VBA-Ausführung unterbinden

03/01/2012 - 18:42 von Jörg Eisenträger | Report spam
Hallo NG, Euch allen ein gesundes Neues Jahr.

Hat jemand von Euch eine elegante Idee, wie man im
Workbook_Open-Ereignis beim Vorliegen einer bestimmten Bedingung die
weitere Ausführung jeglichen VBA-Codes in dieser Datei unterbinden kann?
Gesucht ist eine globale Lösung, möglichst ohne zig einzelne Prozeduren
anpassen zu müssen.

Also etwa so etwas:
Private Sub Workbook_Open()
If Bedingung = True Then
Blockiere die Ausführung jeglicher weiterer Sub oder Function _
egal, wie sie aufgerufen wurde.
End If
End Sub

Nach dem Schließen und Speichern der Datei soll bei erneutem Öffnen der
Code aber ausgeführt werden können, falls Bedingung = False.


Gruß
Jörg
LPs auf CD brennen - so geht's: http://www.joergei.de/
E-Mail-Adresse existiert, wird aber nicht gelesen.
 

Lesen sie die antworten

#1 Rainer Georg Blankenagel
03/01/2012 - 20:15 | Warnen spam
Hallo Jörg,

Jörg Eisentràger <Jörg Eisentràger :

Hallo NG, Euch allen ein gesundes Neues Jahr.

Hat jemand von Euch eine elegante Idee, wie man im
Workbook_Open-Ereignis beim Vorliegen einer bestimmten Bedingung die
weitere Ausführung jeglichen VBA-Codes in dieser Datei unterbinden kann?
Gesucht ist eine globale Lösung, möglichst ohne zig einzelne Prozeduren
anpassen zu müssen.



[...]

Nach dem Schließen und Speichern der Datei soll bei erneutem Öffnen der
Code aber ausgeführt werden können, falls Bedingung = False.



Keine Ahnung, ob das als 'elegant' durchgeht:

Du könntest eine globale Variable vom Typ Boolean deklarieren, die Du beim
Öffnen der Datei auf True setzt (ich nenne sie mal boAusfuehren).

Wenn die gewünschte Bedingung dann eintritt, setzt Du boAusfuehren auf
False.

Dann noch in jede Sub oder Function als erstes ein
If boAusfuehren = False Then Exit Sub
und das Ganze sollte funktionieren. Hat halt alle Nachteile, die globale
Variablen so haben können.


Rainer

Ähnliche fragen