Como impedir que e-mails sem assunto sejam enviados no Outlook usando VBA
O Outlook 2010 já emite um aviso para quando o usuário tenta enviar e-mails sem assunto, mas ele pode optar por enviar mesmo assim. Neste post, eu descrevo como impedir e-mails sem assunto de serem enviados usando VBA.

Este post foi originalmente publicado em http://officevbavsto.blogspot.com/2011/04/outlook-vba-impedindo-que-e-mails-sem.html
O Outlook 2010 já emite um aviso para quando o usuário tenta enviar e-mails sem assunto, mas ele pode optar por enviar mesmo assim. Neste post, eu descrevo como impedir e-mails sem assunto de serem enviados usando VBA.
Acesse o Visual Basic Editor do Outlook (Alt + F11) e localize o objeto ThisOutlookSession
.

Vamos ao código:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If TypeName(Item) = "MailItem" Then
If Trim(Item.Subject) = "" Then
MsgBox "O assunto do e-mail é obrigatório!", vbExclamation, "Alerta de e-mail sem assunto"
Cancel = True
Exit Sub
End If
End If
End Sub
Explicação:
Application_ItemSend
é um evento do Outlook que é disparado assim que um item é enviado, seja um e-mail, um convite de reunião, uma tarefa e etc.TypeName
é um método que retorna o tipo do objeto. Neste artigo estamos falando de e-mail, então o tipo do objeto éMailItem
.Item
é um objeto que represento o item (e-mail, solicitação de reunião e etc.) que está sendo enviado.Item.Subject
é o assunto do e-mail.Cancel = True
, quando você define True, ele cancela o envio do item (e-mail, solicitação de reunião e etc.)

Créditos
Photo by Miguel Á. Padriñán from Pexels
comments powered by Disqus