用于自定义功能区选项卡的Excel加载项,以包括MSIP.ExcelAddin中的控件



我也在尝试构建一个Excel加载项,为Ribbon分发一个公司特定的选项卡。

在功能区中,我想包括office365 Sensitivity应用程序(MSIP.ExcelAddin(中的Sensitiviness控件。它似乎既是一个带有mso控件的常规MS外接程序,也是一个带有x1控件的第三方外接程序。

我可以使用内置的功能区自定义程序*.exportedUI文件成功构建和分发自定义功能区,我可以使用第三方加载项的组或控件。MSO版本不起作用,原始"主页"选项卡中也是如此。

<mso:cmd app="Excel" dt="0"/>
<mso:customUI xmlns:x1="MSIP.ExcelAddin" xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:tabs>
<mso:tab id="mso_c1.CD9101F" label="3rd Party Tab" insertBeforeQ="mso:TabInsert">
<mso:group idQ="x1:adxRibbonGroup_f46a9e941d544d01ad8b43917c503243"/>
<mso:group id="mso_c2.CD9101F" label="My Group" autoScale="true">
<mso:control idQ="x1:adxRibbonMenu_b0e02808fb2f409f90503955cef756aa" visible="true"/>
</mso:group>
</mso:tab>
<mso:tab id="mso_c3.CD96023" label="MSO Tab" insertBeforeQ="mso:TabInsert">
<mso:group idQ="mso:GroupClassifyLabelProtect"/>
<mso:group id="mso_c4.CD96033" label="My Group" autoScale="true">
<mso:control idQ="mso:ClassifyLabelProtect" visible="true"/>
</mso:group>
</mso:tab>          
</mso:tabs>
</mso:ribbon>
</mso:customUI>

然而,当我在外接程序项目中做同样的事情时,我无法让它发挥作用。

<customUI xmlns:x1="MSIP.ExcelAddin" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="mso_c1.CD9101F" label="3rd Party Tab" insertBeforeMso="TabInsert">
<group idQ="x1:adxRibbonGroup_f46a9e941d544d01ad8b43917c503243"/>
<group id="mso_c2.CD9101F" label="My Group" autoScale="true">
<control idQ="x1:adxRibbonMenu_b0e02808fb2f409f90503955cef756aa" visible="true"/>
</group>
</tab>
<tab id="mso_c3.CD96023" label="MSO Tab" insertBeforeMso="TabInsert">
<group idMso="GroupClassifyLabelProtect"/>
<group id="mso_c4.CD96033" label="My Group" autoScale="true">
<control idMso="ClassifyLabelProtect" visible="true"/>
</group>
</tab>  
</tabs>
</ribbon>
</customUI>

在第一个选项卡中,按住第三方控件,我得到一个空选项卡。第二个选项卡仅显示"我的组"中的单个非活动控件。

在为第三方加载项定义或引用命名空间时,我是否做错了什么?

您可以通过指定名称空间将自定义功能区UI放置到自定义选项卡或组中。密钥在<customUI>标记中指定相同的唯一命名空间。然后,控件可以使用idQ引用此命名空间。控件的idQ属性使多个外接程序能够共享容器,例如自定义选项卡和组,但不能将其他外接程序中的自定义控件放入您的外接程序。

BTW你在Office应用程序中收到任何UI错误吗?

默认情况下,如果外接程序试图操作Microsoft Office用户界面(UI(但失败,则不会显示错误消息。但是,您可以将Microsoft Office应用程序配置为显示与UI相关的错误消息。您可以使用这些消息来帮助确定为什么不显示自定义功能区,或者为什么显示功能区但不显示控件。在"如何:显示外接程序用户界面错误"一文中了解更多信息。

最新更新