【问题标题】:programmatically control ribbon in office add-in at runtime在运行时以编程方式控制 Office 加载项中的功能区
【发布时间】:2012-10-14 22:06:55
【问题描述】:

我正在创建一个 Outlook 加载项,它将打开一个新窗口并在将其作为电子邮件发送之前收集一些信息。

为了获得 Outlook 布局,我尝试在新的电子邮件对话框中创建一个任务窗格,该对话框仅在用户单击资源管理器窗口中的自定义按钮时可见。

现在我想打开一封新邮件,并在单击我的自定义按钮时拥有一个自定义功能区或一个选项卡。此功能区/选项卡仅在从我的代码加载新电子邮件时才可见。当用户单击新建电子邮件时,必须加载默认功能区。

我的问题是我找不到在运行时以编程方式修改功能区的方法。 作为替代方案,简单地隐藏整个功能区可能是一种解决方案。

我到处搜索,无法确认或否认可以在运行时控制功能区。 任何帮助表示赞赏。

【问题讨论】:

    标签: outlook ms-office ribbon office-addins


    【解决方案1】:

    您需要在加载项的同一类中实现 IDTExtensibility2IRibbonExtensibility 接口,以便在 Outlook 中自定义功能区界面。

    IRibbonExtensibility.GetCustomUI 方法应返回配置功能区的 XML - 有关 Outlook 中不同窗口的a list of the IDs,请参见 MSDN,每个窗口都有各自的功能区。根据您问题中的描述,我认为您需要的是Microsoft.Outlook.Mail.Compose

    有关示例,请参阅 this Q+A

    通过在您的代码中实现不同的回调,然后可以将自定义功能区设计为仅在满足您的条件时才可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多