在运行时显示outlook色带

时间:2016-01-28 15:17:31

标签: c# add-in outlook-addin

我有一个带2条色带的AddIn。

单独类中的第一个ribbon1在Microsoft.Outlook.Explorer工具栏上显示它的按钮。

我刚刚创建的第二个ribbon2,用于在用户右键单击时显示加载项,因此ContextMenu

我没有构建第一个ribbon1,因此我无法看到它是如何调用的,因为没有:

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new Ribbon1();
}

可能是因为我使用的第三方插件xPress。

因此,第一个功能区在没有该方法的情况下运行正常,但如果我在其他方法中包含该方法以显示Ribbon2,则只有ribbon2在运行时可用。 Ribbon1消失了。我发现它是一种覆盖方法。

如何同时运行两个色带?

1 个答案:

答案 0 :(得分:0)

以下方法属于VSTO,无法在基于外接程序的加载项中使用:

 protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject

您可以处理加载项模块类的OnRibbonBeforeLoad事件,您可以在其中获取由Add-in Express组件生成的XML标记:

    private void AddinModule_OnRibbonBeforeLoad(object sender, AddinExpress.MSO.ADXRibbonBeforeLoadEventArgs e)
    {
        System.Windows.Forms.MessageBox.Show(e.Xml);
    }

P.S。你有任何UI错误吗?

默认情况下,如果加载项尝试操作Microsoft Office用户界面(UI)并失败,则不会显示任何错误消息。但是,您可以将Microsoft Office应用程序配置为显示与UI相关的错误的消息。您可以使用这些消息来帮助确定未显示自定义功能区的原因,或者为何显示功能区但未显示控件的原因。有关详细信息,请参阅How to: Show Add-in User Interface Errors