Evento MailItem.BeforeDelete (Outlook)
Se produce antes de que se elimine un elemento (que es una instancia del objeto primario).
Sintaxis
expresión. BeforeDelete (Item, Cancel)
expresión Variable que representa un objeto MailItem.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Item | Obligatorio | Object | Elemento que se va a eliminar. |
Cancel | Obligatorio | Boolean | False cuando se produce el evento. Si el procedimiento de evento establece este argumento en True, la operación no se completa y no se elimina el elemento. |
Comentarios
Para que este evento se active cuando se elimine un mensaje de correo electrónico, una lista de distribución, una entrada de diario, una tarea, un contacto o una publicación mediante una acción, debe estar abierto un inspector.
Este evento ocurre cada vez que se elimina un elemento.
Ejemplo:
En el ejemplo siguiente de Visual Basic para Aplicaciones (VBA), se pregunta al usuario si desea eliminar el elemento actualmente abierto. Para que se ejecute este ejemplo, debe tener un elemento de correo electrónico abierto que se pueda eliminar. Si hace clic en No, no se eliminará el elemento. Si se cancela este evento, Microsoft Outlook muestra un mensaje de error. Por lo tanto, debe capturar este evento en el código. A continuación se muestra una forma de hacerlo. El código de ejemplo debe colocarse en un módulo de clase como ThisOutlookSession
, y se debe llamar al DeleteMail()
procedimiento antes de que Outlook pueda llamar al procedimiento de evento.
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
Consulte también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.