Я написал очень простой обработчик Item_Send для шаблона почтового сообщения outlook, хранящегося в виде oft файла, который я запускаю через макрос:

Function Item_Send()
    MsgBox "hello"
    Item_Send = False
End Function

Это событие не запускается: я не вижу сообщения и сообщение отправляется.

Может кто-нибудь объяснить, почему это будет и как я могу это исправить?

1 ответ1

0

Код не работает, потому что он не настроен правильно для связи со встроенной системой обработки событий 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .