防止outlook删除定期事件

防止outlook删除定期事件,outlook,appointment,Outlook,Appointment,我有一个插件,可以将Outlook中的只读共享日历与我们的协作系统同步。我需要确保用户不能删除这些只读日历中的任何约会。可以将事件处理程序附加到Outlook中的任何约会(此操作有效),但它不适用于定期事件。重复模式中的每个事件都是Outlook中的一个单独对象,应用程序必须将事件处理程序附加到每个此类对象。如果重复模式是无止境的(这在此类约会中非常流行),那么应用程序应该附加无限多的事件处理程序 是否可以将事件处理程序一次附加到所有事件的某类分组对象(如果该实体存在)上,或者是否有其他方法解决

我有一个插件,可以将Outlook中的只读共享日历与我们的协作系统同步。我需要确保用户不能删除这些只读日历中的任何约会。可以将事件处理程序附加到Outlook中的任何约会(此操作有效),但它不适用于定期事件。重复模式中的每个事件都是Outlook中的一个单独对象,应用程序必须将事件处理程序附加到每个此类对象。如果重复模式是无止境的(这在此类约会中非常流行),那么应用程序应该附加无限多的事件处理程序


是否可以将事件处理程序一次附加到所有事件的某类分组对象(如果该实体存在)上,或者是否有其他方法解决我的任务?

删除定期约会的实例时,将修改主约会。您可以通过订阅AppointItem.Write事件截获该更改,其中包含Cancel参数。

我与开发人员进行了核对。实际上,这是我们尝试的第一件事(订阅AppointItem.Write of the master appointment)。在重复模式中删除实例时,它不会被触发。.BeforeDelete事件触发了吗?不,在我们的测试中,它只在主约会本身被删除时才会触发,而不是属于它的任何重复。我可以看到它在被删除的重复实例上触发。对你有用吗?如果选择该实例,单击“项目”按钮,转到“事件”选项卡,然后删除该实例,是否可以在OutlookSpy中看到它?是的,您是对的,它会为重复实例触发。但由于复发可能是无限的,我需要订阅无限数量的复发来跟踪它们。这显然是不可能的。