Utilisation de Visual Basic pour Applications pour répondre aux événements Outlook

Vous pouvez écrire une procédure événementielle (également connue sous le nom de gestionnaire d'événements) pour répondre aux événements qui surviennent dans Microsoft Outlook. Par exemple, vous pouvez écrire une procédure événementielle qui agrandit automatiquement la fenêtre d'explorateur au démarrage de Microsoft Outlook.

Les événements sont associés à des objets particuliers. L’objet Application constitue l’objet de premier plan et est disponible en permanence (en d’autres termes, il n’est pas nécessaire de le créer). Vous pouvez ajouter une procédure événementielle Application à la fenêtre de module ThisOutlookSession en sélectionnant simplement Application dans la liste de gauche et en sélectionnant l’événement dans la liste de droite.

L'ajout d'un gestionnaire d'événements aux objets autres que l'objet Application nécessite quelques opérations supplémentaires.

En premier lieu, vous devez déclarer une variable à l’aide du mot clé WithEvents pour identifier l’objet dont vous voulez gérer l’événement. Par exemple, pour déclarer une variable représentant l’objet OutlookBarPane, vous ajoutez le code ci-dessous à un module de code.

Dim WithEvents myOlBar as Outlook.OutlookBarPane

Vous pouvez ensuite sélectionner myOlBar dans la liste Objets de la fenêtre de module, puis sélectionner l’événement dans la liste des procédures. Visual Basic Editor ajoute ensuite le modèle de la procédure événementielle à la fenêtre de module. Vous pouvez ensuite taper le code à exécuter lorsque l'événement survient. L'exemple suivant montre comment afficher le code ajouté à la procédure événementielle BeforeNavigate de l'objet OutlookBarPane.

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

L'étape finale consiste à ajouter du code pour affecter la variable d'objet à l'objet dont vous voulez gérer l'événement. Ce code peut exister dans une macro ou, si vous souhaitez que l’événement soit géré lorsque Microsoft Outlook est exécuté, vous pouvez le placer dans la procédure événementielle Startup, comme indiqué dans l’exemple suivant.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.