После долгой игры я понял это. У меня есть фиктивная лента и вот фрагмент 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, и основная лента с легкостью изменит свое положение в зависимости от того, какую фиктивную ленту я туда поместил.