【发布时间】:2020-05-07 04:34:12
【问题描述】:
我试图在某些情况下禁止用户删除约会。像这样的:
- 用户点击日历中的约会
- 用户选择删除
- VSTO-Addin 检查是否允许这样做,如果不允许,则显示警告对话框。 Outlook 不会删除约会!
目前我附加到 Item_Delete_Add() 并且我认为只能处理删除,但您不能阻止 Outlook 实际删除约会。对吗?
【问题讨论】:
标签: outlook-addin
我试图在某些情况下禁止用户删除约会。像这样的:
目前我附加到 Item_Delete_Add() 并且我认为只能处理删除,但您不能阻止 Outlook 实际删除约会。对吗?
【问题讨论】:
标签: outlook-addin
你是在正确的途径...Items.ItemRemove 事件在从指定集合中删除时触发。当个人文件夹文件 (.pst) 中的最后一个项目被删除,或者从 PST 文件、Microsoft Exchange 邮箱或 Exchange 公用文件夹中一次删除 16 个或更多项目时,此事件不会运行。此外,您必须保留对源对象的引用,以了解正在从文件夹中删除的项目。要使其正常工作,您必须订阅 Explorer 类的 SelectionChange 事件。当用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时,将触发它。因此,您可以订阅每个选定的项目并知道确切删除了哪个项目。
另一种可能的方法是处理在删除项目(它是父对象的实例)之前触发的AppointmentItem.BeforeDelete 事件。被删除项目的实例作为参数传递。为了在通过操作删除电子邮件、分发列表、日记条目、任务、联系人或帖子时触发此事件,必须打开检查器。每次删除项目时都会发生该事件。它还允许通过设置第二个参数来取消操作 - 如果事件过程将此参数设置为true,则操作未完成并且项目不会被删除。
另一种方法是重新调整功能区控件的用途,请参阅Temporarily Repurpose Commands on the Office Fluent Ribbon 了解更多信息。
【讨论】: