Outlook AppointItem写入事件-它执行多少次

Outlook AppointItem写入事件-它执行多少次,outlook,vsto,Outlook,Vsto,我需要在保存AppointItem(特别是会议)时执行一些活动 我想要的是,一旦用户填写信息并单击“发送”,Outlook就会执行它的内容,我的代码执行一次 然而,我发现写事件发生了多次——至少两次,有时更多(例如在更新中) 这对我来说是个问题,我有一个对象需要在序列化之前更新,我不想多次进行更新和序列化 以前是否有人遇到过此问题,并且有没有比appointmentitem更好的方法来执行此操作。是否写入?听起来您希望它捕获约会的发送事件,或者在项目中构建一个userproperty,如果该项目

我需要在保存AppointItem(特别是会议)时执行一些活动

我想要的是,一旦用户填写信息并单击“发送”,Outlook就会执行它的内容,我的代码执行一次

然而,我发现写事件发生了多次——至少两次,有时更多(例如在更新中)

这对我来说是个问题,我有一个对象需要在序列化之前更新,我不想多次进行更新和序列化


以前是否有人遇到过此问题,并且有没有比appointmentitem更好的方法来执行此操作。是否写入?

听起来您希望它捕获约会的发送事件,或者在项目中构建一个userproperty,如果该项目已被处理过,则在每次保存时进行检查

马库斯

增加


好的,我会尝试一下,但是如何捕获发送事件呢?有一个Send()方法,但我不确定如何捕获Send事件。例如,使用与捕获写入事件相同的代码时,会给出一个警告和错误,说明它正在使用方法组,而不是事件:错误:无法分配给“发送”,因为它是“方法组”。警告:方法“Microsoft.Office.Interop.Outlook”之间存在歧义。\u AppointItem.Send()'和非方法'Microsoft.Office.Interop.Outlook.ItemEvents\u 10\u Event.Send'。正在使用方法组。您使用的outlook版本是什么?2007年应用程序发送事件您好,是的,我使用2007-我知道发送事件在那里,但当我尝试添加处理程序时,它会根据上面给出的错误。任何关于我如何强制它使用事件的想法-这里的问题代码行是:ai.Send+=new Microsoft.Office.Interop.Outlook.ItemEvents\u 10\u SendEventHandler(ai\u Send);谢谢,汉克斯·马库斯先生,行得通。你知道为什么write事件会被多次触发吗?看起来很奇怪。不过,使用send应该可以完成这项工作。干杯,马辛。
       Outlook.ItemEvents_Event _apptEvents = (Outlook.ItemEvents_Event)ai;
    _apptEvents.Send += new Outlook.ItemEvents_SendEventHandler(_itemClass_ItemEvents_Event_Send);