Почему в пользовательскую ленту в Office PowerPoint нельзя добавить сторонние элементы управления через customUI.xml
Мы пытаемся установить сторонние элементы надстройки на пользовательскую ленту через нашу надстройку.
1) Работает настройка с помощью модификации PowerPoint.officeUI:
<mso:customUI
xmlns:x1="ThirdPartyAddin"
xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:qat/>
<mso:tabs>
<mso:tab id="my_new_tab" label="my_new_tab">
<mso:group id="Test" label="New Group" autoScale="true">
<mso:gallery idQ="x1:TheirFunction1" visible="true"/>
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Мы извлекли этот xml, используя File > Options > Ribbon Customization и проверив полученный файл PowerPoint.OfficeUI.
2) Поместите нижеприведенный код для добавления из IRibbonExtensibility.GetCustomUI, также называемого RibbonXML:
<mso:customUI
xmlns:x1="ThirdPartyAddin"
xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:tabs>
<mso:tab id="my_new_tab" label="my_new_tab">
<mso:group id="Test" label="New Group" autoScale="true">
<mso:gallery idQ="x1:TheirFunction1" visible="true"/>
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Примечания:
- В галерее mso: gallery В PowerPoint нет отчетов об ошибках UI XML.
- Мы удалили, так как панель быстрого доступа не может быть изменена таким образом.
- Вместо галереи, показанной здесь, я также попытался с кнопкой, которая указана как mso: control в PowerPoint.officeUI, но которую я должен был изменить на кнопку mso: для GetCustomUI, иначе PowerPoint будет жаловаться "0x80004005 Пользовательские элементы управления не могут быть указаны как <control> . Требуется тип управления о ID x1: theirFunction2
Проблема
Элемент отображается, но он не работает. он имеет маленькую стрелку для галереи, но не имеет иконки.
Наблюдения
- По иронии судьбы можно щелкнуть правой кнопкой мыши и добавить его в панель быстрого доступа, где она снова работает.
-
выгрузка надстройки третьей стороны при загрузке надстройки GetCustomUI приведет к незначительному обновлению элемента управления
Дополнительная документация
- Из комментария Синди я более подробно исследовал "контроль", есть довольно похожий вопрос, к сожалению, ответ неподтвержден: Может быть клонированный контроль
- Также это документация по "управлению" MSDN