防止通过 Outlook 从日历中移动约会项目 Add-In

Prevent Move Appointment Item from Calendar via Outlook Add-In

我正在为约会和会议编写 Outlook Add-In。它与网络服务集成在一起。写入事件后,我将调用包含开始日期和结束日期的 Web 服务。或者在删除后,我也调用网络服务。这些都可以。

但是,如果用户在日历中移动项目,开始日期和结束日期会发生变化,但我无法得到通知。或者如果也删除它。

对于日历中的约会项目,我怎样才能得到一个 "event" 来防止移动、删除该项目?

您可能会发现以下活动有帮助:

  • Outlook 项目的 BeforeDelete 事件。它在项目(父对象的实例)被删除之前触发。
  • 文件夹 class 的 BeforeItemMove 事件。当一个项目即将从文件夹中移动或删除时触发,无论是由于用户操作还是通过程序代码。

这两个事件都允许取消阳离子。您只需要将 Cancel 参数设置为 true。

请注意,当用户删除 Outlook 项目时,它会被移动到“已删除邮件”文件夹中。但用户可以使用 Shift + Delete 按钮完全删除项目,而无需移动到“已删除项目”文件夹。在这种情况下,事件的 none 将被触发。在这种情况下,您需要处理键盘快捷键。有关详细信息,请参阅 Using shortcut keys to call a function in an Office Add-in