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
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.