Share via


Événement MailItem.BeforeDelete (Outlook)

Survient avant la suppression d'un élément (ce dernier étant une instance de l'objet parent).

Syntaxe

expression. BeforeDelete (Item, Cancel)

expression Variable qui représente un objet MailItem.

Paramètres

Nom Requis/Facultatif Type de données Description
Item Obligatoire Object Élément supprimé.
Cancel Obligatoire Booléen False lorsque l'événement se produit. Si la procédure événementielle affecte la valeur True à cet argument, l'opération n'est pas achevée et l'élément n'est pas supprimé.

Remarques

Pour que cet événement se déclenche lorsqu’un message électronique, une liste de distribution, une entrée de journal, une tâche, un contact ou une publication sont supprimés par le biais d’une action, un inspecteur doit être ouvert.

Cet événement survient chaque fois qu'un élément est supprimé.

Exemple

L’exemple Visual Basic pour Applications (VBA) suivant montre comment inviter l’utilisateur à confirmer la suppression de l’élément actuellement ouvert. Pour que cet exemple s’exécute, vous devez disposer d’un élément d’e-mail ouvert qui peut être supprimé. Si vous cliquez sur Non, l’élément ne sera pas supprimé. Si cet événement est annulé, Microsoft Outlook affiche un message d’erreur. Par conséquent, vous devez capturer cet événement dans votre code. Ci-dessous figure une méthode pour effectuer cette opération. L’exemple de code doit être placé dans un module de classe tel que ThisOutlookSession, et la DeleteMail() procédure doit être appelée avant que la procédure événementielle puisse être appelée par Outlook.

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Public Sub DeleteMail() 
 
 Const strCancelEvent = "Application-defined or object-defined error" 
 
 On Error GoTo ErrHandler 
 
 Set myItem = Application.ActiveInspector.CurrentItem 
 
 myItem.Delete 
 
 Exit Sub 
 
 
 
ErrHandler: 
 
 MsgBox Err.Description 
 
 If Err.Description = strCancelEvent Then 
 
 MsgBox "The event was cancelled." 
 
 End If 
 
 'If you want to execute the next instruction 
 
 Resume Next 
 
 'Otherwise it will finish here 
 
End Sub 
 
 
 
Private Sub myItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean) 
 
 'Prompts the user before deleting an item 
 
 Dim strPrompt As String 
 
 
 
 'Prompt the user for a response 
 
 strPrompt = "Are you sure you want to delete the item?" 
 
 If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbNo Then 
 
 'Don't delete the item 
 
 Cancel = True 
 
 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.