Eu encontrei este verificador de frases no corpo de um email do Outlook aqui , que funciona na perfeição.
O código compartilhado no link acima é o seguinte:
Public Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
If InStr(Item.Body, "(Client Name)") Then
If MsgBox("Are you sure to send this message?", vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Message Text Warning") = vbNo Then
Cancel = True
End If
End If
End Sub
Mas meu requisito atual é verificar um e-mail do Outlook de saída para os seguintes critérios:
Se o corpo contiver um texto específico E Se o endereço de envio / de e-mail for um dos poucos endereços específicos.
Em seguida, pergunte ao usuário se o usuário ainda deseja enviar este e-mail por meio do endereço específico (de preferência, mostre o endereço de envio / envio de e-mail aqui)?
Atualização de 1º de janeiro de 2017 :
O texto a seguir ajuda a verificar o endereço de e-mail do qual estou enviando o e-mail:
InStr(LCase(Item.SendUsingAccount), "[email protected]")
Mas quando eu tento usá-lo com a declaração If
anterior, então não funciona, então agora é o próximo desafio que estou tentando resolver:
If InStr(Item.Body, "(Client Name)") And InStr(LCase(Item.SendUsingAccount), "[email protected]") Then
Em outras palavras, os dois critérios If
não estão funcionando se forem executados juntos (não importa qual deles eu coloquei primeiro e qual deles como segundo), mas se eles forem executados separadamente (single), eles funcionarão muito bem.