我有一个带2条色带的AddIn。
单独类中的第一个ribbon1在Microsoft.Outlook.Explorer
工具栏上显示它的按钮。
我刚刚创建的第二个ribbon2
,用于在用户右键单击时显示加载项,因此ContextMenu
。
我没有构建第一个ribbon1
,因此我无法看到它是如何调用的,因为没有:
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new Ribbon1();
}
可能是因为我使用的第三方插件xPress。
因此,第一个功能区在没有该方法的情况下运行正常,但如果我在其他方法中包含该方法以显示Ribbon2
,则只有ribbon2
在运行时可用。 Ribbon1消失了。我发现它是一种覆盖方法。
如何同时运行两个色带?
答案 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。