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

时间:2018-10-26 12:55:06

标签: excel xml excel-vba ribbon ribbonx

我在excel上有两个自定义功能区,我无法将它们合并。我想这样做,以便一个始终位于另一个自定义标签的“之前”或“之后”。但是我不知道如何对XML进行编程以实现此目的。

undefined

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

我玩过<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”放在最后)。

1 个答案:

答案 0 :(得分:0)

经过很多玩弄后,我发现了。我有一个虚拟功能区,这是该功能的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文件夹中,并且根据我在其中放置的虚拟功能区,主功能区将轻松更改位置。