禁用outlook VSTO插件图标



如果用户从保存的位置打开电子邮件,我需要禁用outlook vsto插件图标。它的工作是从outlook中选择突出显示的电子邮件并保存到外部crm中。新的要求是,如果电子邮件保存在磁盘上并再次打开,它仍然显示outlook插件incon,如果从磁盘打开电子邮件,我必须禁用incon。任何如何实现这一点的想法。我用户从outlook中选择任何电子邮件,这应该很好,但如果电子邮件保存在磁盘上,outlook插件图标应该被禁用。非常感谢

通常,从磁盘打开的邮件项目没有设置EntryID属性。我建议从NewInspector事件开始,每当打开新的检查器窗口时,无论是由于用户操作还是通过程序代码,都会触发该事件。因此,您可以检查EntryID是否存在,以及项目是否不是合成的,这意味着在Outlook中新建。PR_MESSAGE_FLAGS属性提供了可用于标识它是只读项还是组合项的标志。

对于Fluent UI,您需要使用IRibbonUI.Invalidate或IRibbonUI.InvalidateControl方法。可以使用COM加载项中的回调过程自定义功能区UI。对于外接程序实现的每个回调,都会缓存响应。例如,如果外接程序编写器为按钮实现getImage回调过程,则调用一次函数,加载图像,然后如果需要更新图像,则使用缓存的图像,而不是调用该过程。此过程一直保持不变,直到外接程序通过使用Invalidate方法发出缓存值无效的信号,此时,将再次调用回调过程并缓存返回响应。然后,外接程序可以通过调用Refresh方法来强制立即更新UI。getVisible回调应用于动态隐藏和显示功能区UI。

Fluent UI(又名Ribbon UI(在以下系列文章中进行了深入描述:

  • 为开发人员自定义2007 Office Fluent功能区(第1部分,共3部分(
  • 为开发人员自定义2007 Office Fluent功能区(第2部分,共3部分(
  • 为开发人员自定义2007 Office Fluent功能区(第3部分,共3部分(