Compartir a través de


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

Objeto MailItem

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.