Verwenden von Outlook Visual Basic für Applikationen, um auf Outlook-Ereignisse zu reagierenUsing Outlook Visual Basic for Applications to Respond to Outlook Events

Ereignisprozeduren (auch Ereignishandler genannt) werden geschrieben, um auf Ereignisse zu reagieren, die in Microsoft Outlook eintreten.You write an event procedure (also known as an event handler) to respond to events that occur in Microsoft Outlook. Beispielsweise können Sie eine Ereignisprozedur schreiben, die automatisch das Explorer-Fenster maximiert, wenn Outlook gestartet wird.For example, you can write an event procedure that automatically maximizes the explorer window when Outlook starts.

Ereignisse werden bestimmten Objekten zugeordnet.Events are associated with particular objects. Das Application -Objekt ist das oberste Objekt und ist immer verfügbar (das heißt, es muss nicht erstellt werden).The Application object is the topmost object, and is always available (that is, it does not have to be created). Sie können eine Application -Ereignisprozedur im Fenster des ThisOutlookSession -Moduls hinzufügen, indem Sie einfach Anwendung in der linken Liste auswählen und dann das Ereignis in der rechten Liste auswählen.You can add an Application event procedure in the ThisOutlookSession module window simply by selecting Application in the left list and then selecting the event in the right list.

Um anderen Objekten als dem Application-Objekt einen Ereignishandler hinzuzufügen, sind einige weitere Schritte erforderlich.Adding an event handler for objects other than the Application object requires a few additional steps.

Zuerst müssen Sie mithilfe des WithEvents-Stichwortes eine Variable deklarieren, um das Objekt zu bestimmen, dessen Ereignis Sie bearbeiten wollen.First, you must declare a variable using the WithEvents keyword to identify the object whose event you want to handle. Um beispielsweise eine Variable zu deklarieren, die das OutlookBarPane-Objekt darstellt, fügen Sie Folgendes dem Codemodul hinzu.For example, to declare a variable representing the OutlookBarPane object, you would add the following to a code module.

Dim WithEvents myOlBar as Outlook.OutlookBarPane

Anschließend können Sie in myOlBar der Liste Objekte des Modul Fensters auswählen und dann das Ereignis in der Liste Prozedur auswählen.You can then select myOlBar in the Objects list of the module window and then select the event in the procedure list. Der Visual Basic-Editor fügt daraufhin die Vorlage für die Ereignisprozedur in das Modulfenster ein.The Visual Basic Editor will then add the template for the event procedure to the module window. Im Anschluss geben Sie den Code ein, der verwendet werden soll, wenn das Ereignis eintritt.You can then type the code you want to run when the event occurs. Im folgenden Beispiel wurde in die BeforeNavigate-Ereignisprozedur Code für das OutlookBarPane -Objekt eingefügt.The following example shows code added to the BeforeNavigate event procedure for the OutlookBarPane object.

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.The final step is to add code to set the object variable to the object whose event you want to handle. 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.This code can exist in a macro, or if you want the event to be handled whenever Outlook runs, you can put it in the Startup event procedure, as in the following example.

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

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.