I have two custom ribbons on excel, I can not combine them. I would like to make it so that one is always "before" or "after" the other custom tab. But I can't figure out how to program the XML to accomplish this.
<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>
This will place my "customTab" at the very end regardless of where the "otherCustomTab" is located.
I have played around with insertAfterQ="OtherCustomTab"
, but this does the same thing (places "customTab" at the very end regardless of where "otherCustomTab" is located).
After a lot of toying around, I figured it out. I have a dummy ribbon and here is a XML fragment from that:
Dummy ribbon:
<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>
Main Ribbon:
<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>
The main thing is to make sure that the dummy ribbon is called before the main ribbon.
The benefit to this approach is I can have 8 or 9 different dummy ribbon .xlam workbooks, each having a different "insertBeforeMso" or "InsertAfterMso". Then I can just simply put the dummy ribbon .xlam workbook in the XLSTART Folder, and the main ribbon will change position with ease depending on which dummy ribbon I put in there.