MailItem.BeforeDelete-Ereignis (Outlook)
Tritt ein, bevor ein Element (bei dem es sich um eine Instanz des übergeordneten Objekts handelt) gelöscht wird.
Syntax
Ausdruck. BeforeDelete (Item, Cancel)
Ausdruck Eine Variable, die ein MailItem-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Item | Erforderlich | Objekt | Das Element, das gelöscht wird. |
Cancel | Erforderlich | Boolean | False, Wenn das Ereignis auftritt. Wenn die Ereignisprozedur dieses Argument auf True festgelegt wird, ist nicht abgeschlossen und das Element wird nicht gelöscht. |
Hinweise
Damit dieses Ereignis ausgelöst wird, wenn eine E-Mail-Nachricht, Verteilerliste, Journaleintrag, Aufgabe, Kontakt oder Beitrag durch eine Aktion gelöscht werden, muss ein Inspektor geöffnet sein.
Das Ereignis tritt bei jedem Löschen eines Objekts ein.
Beispiel
Im folgenden Beispiel für Visual Basic für Applikationen (VBA) wird der Benutzer gefragt, ob das aktuell geöffnete Element gelöscht werden soll. Damit dieses Beispiel ausgeführt werden kann, benötigen Sie ein geöffnetes E-Mail-Element, das gelöscht werden kann. Wenn Sie auf No klicken, wird die Nachricht nicht gelöscht. Wenn dieses Ereignis abgebrochen wird, wird Microsoft Outlook eine Fehlermeldung angezeigt. Daher müssen Sie dieses Ereignis im Code zu erfassen. Eine Möglichkeit hierzu ist unten dargestellt. Der Beispielcode muss in einem Klassenmodul wie ThisOutlookSession
platziert werden, und die DeleteMail()
Prozedur sollte aufgerufen werden, bevor die Ereignisprozedur von Outlook aufgerufen werden kann.
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
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.