Outlook: Application_Startup feuert nicht

Das Ereignis “Startup” des “Application”-Objekts von Outlook ist für viele benutzerdefinierte Erweiterungen von Outlook essenziell, da es die Möglichkeit bietet, direkt beim Starten von Outlook VBA-Code auszuführen. Damit lassen sich für verschiedene Anwendungen wichtige Automatismen anstoßen – zum Beispiel das Deklarieren und Initialisieren von Objektvariablen, für die Ereignisse implementiert werden sollen. Leider passiert es gelegentlich, dass die Ereignisprozedur Application_Startup beim Starten von Outlook nicht aufgerufen wird. Woran das liegt und wir dies ändern, zeigt der vorliegende Artikel.

Du hast das Ereignis Application_Startup im Modul ThisOutlookApplication implementiert und wenn Du Outlook startest, wird diese nicht ausgelöst? Das kann verschiedene Gründe haben:

  • Die Makroeinstellungen für Outlook erlauben die Ausführung von Makros nicht. Der Klassiker, der gerade bei neu installierten Office-Anwendungen auftritt.
  • Outlook ist bereits geöffnet, gegebenenfalls auch unsichtbar. In diesem Fall kann Application_Startup nicht ausgelöst werden, weil Outlook ja gar nicht neu startet. Wenn Outlook per Code initialisiert wird, feuert Application_Startup übrigens nicht.
  • Ein spezieller Registry-Eintrag, den Outlook beim Starten abfragt, weist einen Wert auf, der das Ausführen von Application_Startup unterbindet.

In den folgenden Abschnitten schauen wir uns die Lösungen für diese Probleme an.

Makroeinstellungen kontrollieren und anpassen

Wenn Application_Startup beim Öffnen von Outlook nicht ausgeführt wird, solltest Du als Erstes die Makroeinstellungen prüfen. Dazu brauchst Du gar nicht erst den Optionen-Dialog zu öffnen – wechsle einfach zum VBA-Editor (Alt + F11), öffne das Modul ThisOutlookApplication, platziere die Einfügemarke in der Prozedur Application_Startup und betätige die Taste F5.

Wenn die Prozedur nun auch nicht ausgeführt wird, sondern die Meldung aus Bild 1 erscheint, hast Du schon die Lösung des Problems gefunden.

Meldung beim Versuch, ein Makro trotz Deaktivierung auszuführen

Bild 1: Meldung beim Versuch, ein Makro trotz Deaktivierung auszuführen

Um Makros zu aktivieren, öffnest Du mit dem Ribbonbefehl Datei|Optionen den Optionen-Dialog von Outlook.

Hier wechselst Du zum Bereich Trust Center und klickst dort auf Einstellungen für das Trust Center…, was den Dialog Trust Center öffnet.

Dort aktivierst Du im Bereich Makroeinstellungen eine der Optionen Benachrichtigungen für alle Makros oder Alle Makros aktivieren.

Wenn Benachrichtigungen für alle Makros aktiviert ist, erscheint beim Start von Outlook die Meldung aus Bild 2 – vorausgesetzt, es liegt keine der übrigen Ursachen für eine Fehlfunktion von Application_Startup vor.

Meldung, wenn Benachrichtigungen für Makros aktiviert sind

Bild 2: Meldung, wenn Benachrichtigungen für Makros aktiviert sind

Ist Alle Makros aktivieren selektiert, sollte Application_Startup beim Start ausgeführt werden. Wenn nicht, prüfe, ob Du es wie oben beschrieben von Hand aufrufen kannst, was nun funktionieren sollte. Dann ist einer der folgenden beiden Gründe für das Problem verantwortlich.

Outlook ist bereits geöffnet

Es kann auch sein, dass Outlook bereits durch eine andere Anwendung geöffnet wurde und diese Instanz immer noch in einer Variable referenziert ist.

Du kannst diese Variante nachvollziehen, indem Du in einer anderen Anwendung, beispielsweise in einem Standardmodul den folgenden VBA-Code platzierst:

Das Ereignis “Startup” des “Application”-Objekts von Outlook ist für viele benutzerdefinierte Erweiterungen von Outlook essenziell, da es die Möglichkeit bietet, direkt beim Starten von Outlook VBA-Code auszuführen. Damit lassen sich für verschiedene Anwendungen wichtige Automatismen anstoßen – zum Beispiel das Deklarieren und Initialisieren von Objektvariablen, für die Ereignisse implementiert werden sollen. Leider passiert es gelegentlich, dass die Ereignisprozedur Application_Startup beim Starten von Outlook nicht aufgerufen wird. Woran das liegt und wir dies ändern, zeigt der vorliegende Artikel.

Du hast das Ereignis Application_Startup im Modul ThisOutlookApplication implementiert und wenn Du Outlook startest, wird diese nicht ausgelöst? Das kann verschiedene Gründe haben:

  • Die Makroeinstellungen für Outlook erlauben die Ausführung von Makros nicht. Der Klassiker, der gerade bei neu installierten Office-Anwendungen auftritt.
  • Outlook ist bereits geöffnet, gegebenenfalls auch unsichtbar. In diesem Fall kann Application_Startup nicht ausgelöst werden, weil Outlook ja gar nicht neu startet. Wenn Outlook per Code initialisiert wird, feuert Application_Startup übrigens nicht.
  • Ein spezieller Registry-Eintrag, den Outlook beim Starten abfragt, weist einen Wert auf, der das Ausführen von Application_Startup unterbindet.

In den folgenden Abschnitten schauen wir uns die Lösungen für diese Probleme an.

Makroeinstellungen kontrollieren und anpassen

Wenn Application_Startup beim Öffnen von Outlook nicht ausgeführt wird, solltest Du als Erstes die Makroeinstellungen prüfen. Dazu brauchst Du gar nicht erst den Optionen-Dialog zu öffnen – wechsle einfach zum VBA-Editor (Alt + F11), öffne das Modul ThisOutlookApplication, platziere die Einfügemarke in der Prozedur Application_Startup und betätige die Taste F5.

Wenn die Prozedur nun auch nicht ausgeführt wird, sondern die Meldung aus Bild 1 erscheint, hast Du schon die Lösung des Problems gefunden.

Meldung beim Versuch, ein Makro trotz Deaktivierung auszuführen

Bild 1: Meldung beim Versuch, ein Makro trotz Deaktivierung auszuführen

Um Makros zu aktivieren, öffnest Du mit dem Ribbonbefehl Datei|Optionen den Optionen-Dialog von Outlook.

Hier wechselst Du zum Bereich Trust Center und klickst dort auf Einstellungen für das Trust Center…, was den Dialog Trust Center öffnet.

Dort aktivierst Du im Bereich Makroeinstellungen eine der Optionen Benachrichtigungen für alle Makros oder Alle Makros aktivieren.

Wenn Benachrichtigungen für alle Makros aktiviert ist, erscheint beim Start von Outlook die Meldung aus Bild 2 – vorausgesetzt, es liegt keine der übrigen Ursachen für eine Fehlfunktion von Application_Startup vor.

Meldung, wenn Benachrichtigungen für Makros aktiviert sind

Bild 2: Meldung, wenn Benachrichtigungen für Makros aktiviert sind

Ist Alle Makros aktivieren selektiert, sollte Application_Startup beim Start ausgeführt werden. Wenn nicht, prüfe, ob Du es wie oben beschrieben von Hand aufrufen kannst, was nun funktionieren sollte. Dann ist einer der folgenden beiden Gründe für das Problem verantwortlich.

Outlook ist bereits geöffnet

Es kann auch sein, dass Outlook bereits durch eine andere Anwendung geöffnet wurde und diese Instanz immer noch in einer Variable referenziert ist.

Du kannst diese Variante nachvollziehen, indem Du in einer anderen Anwendung, beispielsweise in einem Standardmodul den folgenden VBA-Code platzierst:

Access, SQL und Cloud Automation

Unser exklusives Angebot für Dich!

VB-Entwickler
12,50 € im Monat*

(Gilt für den Abschluss eines Jahres-Abonnements.)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →