Код не работает, потому что он не настроен правильно для связи со встроенной системой обработки событий Outlook. Приведенный ниже код и описание, скопированные непосредственно из раздела "Пример" на этой странице 1, предоставляют шаблон для реализации пользовательского кода в ответ на отправку почтового сообщения.
В следующем примере Microsoft Visual Basic для приложений (VBA) показано, как отменить событие ItemSend в ответ на ввод пользователя. Образец кода должен быть помещен в модуль класса, и процедура Outlook Initialize_handler должна быть вызвана до вызова процедуры события в Outlook.
Public WithEvents myOlApp As Outlook.Application
Public Sub Initialize_handler()
Set myOlApp = Outlook.Application
End Sub
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim prompt As String
prompt = "Are you sure you want to send " & Item.Subject & "?"
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo
Cancel = True
End If
End Sub
1 http://msdn.microsoft.com/en-us/library/office/ff865076%28v=office.15%29.aspx