É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
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.