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