Я нашел эту проверку фразы в теле письма Outlook, которая работает безупречно.

Код, указанный в приведенной выше ссылке, выглядит следующим образом:

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

Но мое действительное требование - проверить исходящую электронную почту Outlook по следующим критериям:

Если тело содержит конкретный текст И если адрес отправки / от электронной почты является одним из нескольких конкретных адресов.

Затем спросите пользователя, хочет ли он по-прежнему отправлять это электронное письмо по указанному адресу (желательно указать адрес отправки / отправки электронной почты здесь)?


Обновление 1 января 2017 года:

Следующее помогает проверить адрес электронной почты, с которого я отправляю письмо:

InStr(LCase(Item.SendUsingAccount), "user@domain.ext")

Но когда я пытаюсь использовать его с предыдущим оператором If он не работает, так что теперь это следующая задача, которую я хочу решить:

If InStr(Item.Body, "(Client Name)") And InStr(LCase(Item.SendUsingAccount), "user@domain.ext") Then

Другими словами, If оба критерия не работают, если они выполняются вместе (не имеет значения, какой из них я ставлю первым, а какой - вторым), но если они выполняются отдельно (по одному), то они работают просто отлично.

0