Freigeben über


Verwenden von Outlook Visual Basic für Applikationen, um auf Outlook-Ereignisse zu reagieren

Ereignisprozeduren (auch Ereignishandler genannt) werden geschrieben, um auf Ereignisse zu reagieren, die in Microsoft Outlook eintreten. Beispielsweise können Sie eine Ereignisprozedur schreiben, die automatisch das Explorer-Fenster maximiert, wenn Outlook gestartet wird.

Ereignisse sind bestimmten Objekten zugeordnet. Das Application-Objekt ist das oberste Objekt und immer verfügbar (d.a. es muss nicht erstellt werden). Sie können eine Application-Ereignisprozedur im ThisOutlookSession-Modulfenster hinzufügen, indem Sie einfach in der linken Liste Anwendung und dann das Ereignis in der rechten Liste auswählen.

Um anderen Objekten als dem Application-Objekt einen Ereignishandler hinzuzufügen, sind einige weitere Schritte erforderlich.

Zuerst müssen Sie mithilfe des WithEvents-Stichwortes eine Variable deklarieren, um das Objekt zu bestimmen, dessen Ereignis Sie bearbeiten wollen. Um beispielsweise eine Variable zu deklarieren, die das OutlookBarPane-Objekt darstellt, fügen Sie Folgendes dem Codemodul hinzu.

Dim WithEvents myOlBar as Outlook.OutlookBarPane

Sie können dann myOlBar in der Liste Objekte des Modulfensters auswählen und dann das Ereignis in der Prozedurliste auswählen. Der Visual Basic-Editor fügt daraufhin die Vorlage für die Ereignisprozedur in das Modulfenster ein. Im Anschluss geben Sie den Code ein, der verwendet werden soll, wenn das Ereignis eintritt. Im folgenden Beispiel wurde in die BeforeNavigate-Ereignisprozedur Code für das OutlookBarPane -Objekt eingefügt.

Private Sub myOlBar_BeforeNavigate(ByVal Shortcut As OutlookBarShortcut, Cancel As Boolean) 
 If Shortcut.Name = "Notes" Then 
 MsgBox "You cannot open the Notes folder." 
 Cancel = True 
 End If 
End Sub

Im letzten Schritt wird Code eingefügt, um die Objektvariable auf das Objekt festzulegen, dessen Ereignis Sie bearbeiten möchten. Dieser Code kann in einem Makro vorhanden sein oder in der Startup-Ereignisprozedur, wenn das Ereignis bei jedem Start von Outlook behandelt werden soll, wie im folgenden Beispiel.

Private Sub Application_Startup() 
 Set myOlBar = Application.ActiveExplorer.Panes(1) 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.