不,ItemSend事件不提供此类信息。此外,您可能会发现Outlook项目的Send事件的工作方式相同,当用户为项目选择Send操作时,或为项目调用Send方法时,它会被激发,该项目是父对象的示例。为了处理项目级事件,您可以Implement a wrapper for inspectors and track item-level events in each inspector。因此,您将知道何时触发事件(如果之前打开了任何检查器)。 发件箱中的消息发送时) 这两个事件(ItemSend和Send)都是在项目提交时和移动到发件箱文件夹之前触发的。但您可以尝试检查项目的父文件夹,但这不能给予您任何明确的答案。 如果您真的需要知道用户何时单击了Send按钮,您可以考虑使用Windows API技术(如子类化)在Outlook中单击“发送”按钮。同样的机制可用于处理Outlook中的键盘快捷键。
2条答案
按热度按时间ukdjmx9f1#
不使用
Application.ItemSend
事件,而使用MailItem.Send
事件。您可以捕获Application.Inspectors.NewInspector
事件以挂钩到新的Inspector
,然后在Inspector.CurrentItem
上设置事件处理程序。请记住,可以打开多个检查器。当检查器关闭时,您需要取消订阅事件(Inspector.Close
事件)。您可以对内联项目(Explorer.InlineResponse/InlineResponseClose
事件)执行相同的操作。请记住,
Application.ItemSend
事件在用户或以编程方式发送消息时触发,当异步消息提交完成一段时间后将项目从发件箱文件夹中移出时,它不会触发。你可以看到在OutlookSpy中哪些事件被触发以及何时被触发(我是它的作者)-例如,单击Application按钮,转到Events选项卡并查看事件被触发。
dtcbnfnu2#
不,
ItemSend
事件不提供此类信息。此外,您可能会发现Outlook项目的Send事件的工作方式相同,当用户为项目选择Send
操作时,或为项目调用Send
方法时,它会被激发,该项目是父对象的示例。为了处理项目级事件,您可以Implement a wrapper for inspectors and track item-level events in each inspector。因此,您将知道何时触发事件(如果之前打开了任何检查器)。发件箱中的消息发送时)
这两个事件(
ItemSend
和Send
)都是在项目提交时和移动到发件箱文件夹之前触发的。但您可以尝试检查项目的父文件夹,但这不能给予您任何明确的答案。如果您真的需要知道用户何时单击了
Send
按钮,您可以考虑使用Windows API技术(如子类化)在Outlook中单击“发送”按钮。同样的机制可用于处理Outlook中的键盘快捷键。