Compartilhar via


Evento MailItem.BeforeDelete (Outlook)

Ocorre antes da exclusão de um item (que é uma instância do objeto pai).

Sintaxe

expressão. BeforeDelete (Item, Cancelar)

expressão Uma variável que representa um objeto MailItem.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Item Obrigatório Objeto O item que está sendo excluído.
Cancel Obrigatório Boolean False quando o evento ocorre. Se o procedimento de evento define este argumento como True, a operação não será concluída e o item não será excluído.

Comentários

Para que este evento seja acionado quando uma mensagem de e-mail, lista de distribuição, entrada de diário, tarefa, contacto ou mensagem são eliminados através de uma ação, um inspetor tem de estar aberto.

O evento ocorre cada vez que um item é excluído.

Exemplo

O seguinte exemplo do Visual Basic for Applications (VBA) pergunta ao usuário se o item que está aberto no momento deve ser excluído. Para que este exemplo seja executado, tem de ter um item de e-mail aberto que possa ser eliminado. Se você clicar em Não, o item não será excluído. Se esse evento for cancelado, o Microsoft Outlook exibirá uma mensagem de erro. Portanto, você precisa capturar esse evento em seu código. Uma maneira de fazer isso é mostrada abaixo. O código de exemplo tem de ser colocado num módulo de classe, como ThisOutlookSession, e o DeleteMail() procedimento deve ser chamado antes de o procedimento do evento poder ser chamado pelo 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

Confira também

Objeto MailItem

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.