Excel CustomUI 功能区放置在另一个 CustomUI 功能区选项卡旁边

Excel CustomUI Ribbon Placement Next To Another CustomUI Ribbon Tab

我在 excel 上有两个自定义丝带,我无法将它们组合起来。我想使一个始终是 "before" 或 "after" 另一个自定义选项卡。但我无法弄清楚如何对 XML 进行编程来完成此操作。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnCustomUILoaded">
<ribbon startFromScratch="false">
    <tabs>
        <tab id="CustomTab" label="MyTab" insertAfterMso="OtherCustomTab">
            ***********************
        </tab>
    </tabs>
</ribbon>
</customUI>

无论 "otherCustomTab" 位于何处,这都会将我的 "customTab" 放在最后。

我玩过 insertAfterQ="OtherCustomTab",但它做同样的事情(无论 "otherCustomTab" 位于何处,都将 "customTab" 放在最后)。

经过一番摸索,我终于明白了。我有一个虚拟色带,这是其中的一个 XML 片段:

虚拟色带:

    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="ns" >
        <ribbon>
            <tabs>
                <tab idQ="x:SettingsTab" label="SettingsTab" insertBeforeMso="TabHome" visible="false" >
            </tab>
        </tabs>
    </ribbon>
</customUI>

主功能区:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="ns" onLoad="OnCustomUILoaded">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="CustomTab" getLabel="GetLabel" insertAfterQ="x:SettingsTab" >
                ***************
            </tab>
        </tabs>
    </ribbon>
 </customUI>

主要是确保在主功能区之前调用虚拟功能区。

这种方法的好处是我可以有 8 或 9 个不同的虚拟色带 .xlam 工作簿,每个都有不同的 "insertBeforeMso" 或 "InsertAfterMso"。然后我可以简单地将虚拟功能区 .xlam 工作簿放入 XLSTART 文件夹中,主功能区将根据我放入其中的虚拟功能区轻松改变位置。