我有两个加载项需要在自定义选项卡中创建一组按钮。 我尝试对 2 个加载项使用相同的“自定义”选项卡,以便在此自定义选项卡中创建两个组。
我尝试设置相同的命名空间、相同的选项卡 ID,但无论如何,每次创建两个自定义选项卡时,每个选项卡中都有每个加载项创建的组...
有办法完成这项工作吗?
以下是第一个加载项的自定义 UI xml 示例:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="MYCOMPANYRibbonOnLoad" xmlns:x="MYCOMPANYSpace">
<ribbon startFromScratch="false">
<tabs>
<tab id="MYCOMPANYTab" label="MYCOMPANY" insertAfterMso="TabView">
<group id="IDGroup1" label="LabelGroup1">
<button id="Group1customButton1" (etc...)/>
<button id="Group1customButton2" (etc...)/>
<button id="Group1customButton3" (etc...) />
<button id="Group1customButton4" (etc...) />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
下面是第二个加载项的自定义 UI xml 示例:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="MYCOMPANYRibbonOnLoad" xmlns:x="MYCOMPANYSpace">
<ribbon startFromScratch="false">
<tabs>
<tab id="MYCOMPANYTab" label="MYCOMPANY" insertAfterMso="TabView">
<group id="IDGroup2" label="LabelGroup2">
<button id="Group2customButton1" (etc...) />
<button id="Group2customButton2" (etc...) />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
最佳答案
我终于找到了解决方案:
首先,您必须声明自己的 namespace ,如下所示:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" xmlns:n="http://ISBN3-86063-989-7.com/RibbonXML" onLoad="RibbonOnLoad">
然后,您需要将 idQ 属性与命名空间别名结合使用(而不仅仅是像我首先那样使用 Id 属性):
<tab idQ="n:YourCustomTab_Id" label="YourCustomTab_Name" insertAfterMso="TabView">
如果想与group分开,需要用同样的方式声明group:
<group idQ="n:YourCustomGroup1_Id" label="YourCustomGroup1_Name">
它在我的案例中效果很好......
关于EXCEL UI自定义功能区: Two add-in for only one Custom Tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47290524/