Partilhar 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 esse evento seja acionado quando uma mensagem de email, lista de distribuição, entrada de diário, tarefa, contato ou postagem for excluída por meio de uma ação, um inspetor deve 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, você precisa ter um item de email aberto que possa ser excluído. 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 deve ser colocado em um módulo de classe como ThisOutlookSession, e o DeleteMail() procedimento deve ser chamado antes que o procedimento de evento possa 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.