Événement MailItem.Open (Outlook)

Se produit lorsqu’une instance de l’objet parent est ouverte dans un inspector.

Syntaxe

expression. Ouvrir (Annuler)

expression Variable qui représente un objet MailItem.

Paramètres

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Boolean (Non utilisé dans VBScript). False lorsque l'événement se produit. Si la procédure événementielle affecte à cet argument la valeur True, l'opération d'ouverture n'est pas achevée et l'inspecteur ne s'affiche pas.

Remarques

Lorsque cet événement se produit, l'objet Inspector est initialisé mais pas encore affiché. L'événement Open diffère de l'événement Read dans la mesure où l'événement Read survient dès que l'utilisateur sélectionne l'élément dans un affichage gérant la modification du contenu des cellules ou que l'élément est en cours d'ouverture dans un inspecteur.

Dans Microsoft Visual Basic Scripting Edition (VBScript), si vous définissez la valeur renvoyée de cette fonction sur False, l'opération d'ouverture n'est pas achevée et l'inspecteur ne s'affiche pas.

Exemple

Cet exemple Visual Basic pour Applications (VBA) utilise l’événement Open pour afficher la page « Tous les champs » chaque fois que l’élément est ouvert.

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 myItem.GetInspector.SetCurrentFormPage "All Fields" 
 
End Sub

Cet exemple Visual Basic pour Applications utilise la propriété Unread pour détecter si l’élément a été lu précédemment. Si tel est le cas, il est demandé à l'utilisateur s'il souhaite l'ouvrir. Si l'utilisateur répond par la négative, la valeur renvoyée est définie sur False pour que l'élément ne s'ouvre pas.

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 Dim mymsg As String 
 
 If myItem.UnRead = False Then 
 
 mymsg = "You have already read this message. Do you want to open this message again?" 
 
 If MsgBox(mymsg, 4) = 6 Then 
 
 Cancel = False 
 
 Else 
 
 Cancel = True 
 
 End If 
 
 End If 
 
End Sub

Voir aussi

Objet MailItem

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.