Item_Send
我为 Outlook 邮件消息模板编写了一个非常简单的处理程序,该模板存储为一个oft
文件,我通过宏运行该文件:
Function Item_Send()
MsgBox "hello"
Item_Send = False
End Function
此事件未触发:我看不到消息框并且消息已发送。
谁能解释为什么会出现这种情况以及我该如何解决它?
答案1
该代码无法正常工作,因为它的配置不正确,无法与内置的 Outlook 事件处理系统配合使用。以下代码和说明直接从本页1的“示例”部分复制而来,提供了用于实现响应发送邮件项的自定义代码的模板。
以下 Microsoft Visual Basic for Applications (VBA) 示例显示如何取消 ItemSend 事件以响应用户输入。示例代码必须放在类模块中,并且必须先调用 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