Prüfen, ob VBA-Code ausgeführt werden kann

Über den Bereich Trust Center in den Access-Optionen kann der Benutzer Einstellungen vornehmen, die dafür sorgen, dass in einer Access-Anwendung geöffneter VBA-Code ohne Warnung nicht ausgeführt wird. Das ist natürlich ungünstig, wenn der Benutzer dadurch Ribbonbefehle oder Steuerelemente in Formularen betätigt und diese keine Funktion zeigen. Um dies zu verhindern, können Sie beim Start einer Anwendung ein spezielles Makro aufrufen, das prüft, ob VBA-Code ausgeführt werden kann und den Benutzer gegebenenfalls darauf hinweist, die Einstellungen anzupassen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2201_VBACodePruefen.accdb.

Kein VBA-Code mit Ansage

Wenn die Standardeinstellungen für Office vorliegen, also alle Optionen wie bei der Installation belassen wurden, wird VBA-Code nicht automatisch ausgeführt. Access zeigt dann bei einer neu erstellten oder heruntergeladenen Access-Datenbank einen gelben Bereich mit einem Hinweis an, der auch eine Schaltfläche anbietet, mit welcher der Benutzer den VBA-Code aktivieren kann (siehe Bild 1). Klickt der Benutzer diese an, funktionieren die mit VBA-Code hinterlegten Elemente der Anwendung anschließend wie gewünscht.

Meldung über deaktivierte Inhalte

Bild 1: Meldung über deaktivierte Inhalte

Warum wird VBA-Code nicht ausgeführt

Der wichtigste Grund, warum VBA-Code unerklärlicherweise nicht ausgeführt wird, sind die Sicherheitseinstellungen der Office-Installation auf dem betroffenen Rechner. Hier kann es sein, dass der Benutzer Einstellungen vorgenommen hat, die dafür sorgen, dass VBA-Code ohne Rückmeldung deaktiviert wird.

Diese Einstellung erreicht der Benutzer beispielsweise, wenn er über den Bereich Trust Center in den Access-Optionen (Datei|Optionen) zum Dialog Trust Center gelangt und dort unter Makroeinstellungen die Option Alle Makros ohne Benachrichtigungen deaktivieren wählt (siehe Bild 2). Um das Beispiel dieses Artikels nachvollziehen zu können, müssen Sie auf Ihrem System ebenfalls diese Einstellung vornehmen.

Option zum Deaktivieren von VBA-Code ohne Rückmeldung

Bild 2: Option zum Deaktivieren von VBA-Code ohne Rückmeldung

In der Folge wird bei einer wie oben geöffneten Datenbankdatei der VBA-Code deaktiviert, aber es erscheint nicht mehr der gelbe Bereich mit dem Hinweis. Das Problem dabei ist, dass der Benutzer sich gegebenenfalls nicht über die Wirkung bewusst ist und sich wundert, warum eine von Ihnen gelieferte Access-Anwendung nicht funktioniert, wenn er auf die enthaltenen Schaltflächen klickt.

Optionen per VBA prüfen funktioniert nicht

Normalerweise könnten Sie die Einstellungen, die für dieses Verhalten verantwortlich sind, per VBA prüfen. Wenn die Ausführung von VBA jedoch blockiert ist, gelingt dies logischerweise nicht. Wir müssen also eine alternative Lösung suchen, die kein VBA verwendet.

Einstellungen prüfen per Makro

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar