【发布时间】:2021-06-03 06:30:46
【问题描述】:
我目前正在修复 Outlook VSTO 插件。该项目包含 4 个功能区及其各自的功能区类型:
- CrmAppointmentRibbon.cs -> 类型:Microsoft.Outlook.Appointment
- CrmEmailNewRibbon.cs -> 类型:Microsoft.Outlook.Mail.Compose
- CrmEmailReadRibbon.cs -> 类型:Microsoft.Outlook.Mail.Read
- CrmEmailRibbon.cs -> 类型:Microsoft.Outlook.Mail.Explorer
所以当 Outlook 打开时,调用 ThisAddIn_Startup 方法来初始化插件,我得到的功能区集合如下:
ThisRibbonCollection ribbonCollection = Globals.Ribbons[Globals.ThisAddIn.Application.ActiveInspector()];
因此,ribbonCollection 包含 4 个功能区,但有关ribbonCollection 的CrmEmailRibbon 变量的类类型不匹配。当我这样做时
ribbonCollection.CrmEmailRibbon
它返回 CrmEmailReadRibbon 而不是 CrmEmailRibbon。所以 CrmEmailReadRibbon 被返回两次。这是从这两个调用返回的同一个功能区:
ribbonCollection.CrmEmailRibbon
ribbonCollection.CrmEmailReadRibbon
第一个调用应返回其关联的功能区引用:CrmEmailRibbon。 因此,我无法访问 CrmEmailRibbon 的组和按钮... 有人遇到过这种行为吗?
【问题讨论】:
标签: c# outlook vsto outlook-addin