Я создал надстройку для Word и теперь хотел бы добавить опцию для вызова функции из нее, когда пользователь выделяет слово и щелкает по нему правой кнопкой мыши.Я нашел документацию здесь о том, как изменить файл manifest.xml, но он, кажется, не показывает полный пример того, как добавить в контекстное меню, только как добавить кнопки и выпадающие меню.
Документация также указывает на страницу с примерами github , но опять же отсутствует в контекстных меню.Это также указывает на это видео, которое, кажется, показывает то, что я хочу около 1:20, но также не показывает, как его реализовать.
Пока у меня есть это (добавлено ниже<FunctionFile>
):
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuText">
<Control xsi:type="Menu" id="TestMenu">
<Label resid="ContextMenuLabel" />
<Supertip>
<Title resid="ContextualMenuTitle" />
<Description resid="ContextualMenuTitleDesc" />
</Supertip>
</Control>
</OfficeMenu>
</ExtensionPoint>
Когда я пытаюсь проверить файл манифеста с помощью этого инструмента , он говорит мне, что мне не хватает элемента Icon
, но я ненужно изображение для контекстного меню?
Возможно ли то, что я пытаюсь сделать, и если да, то может ли кто-нибудь указать мне пример?
Редактировать:
Я обновил свой код, чтобы отразить то, что написал @Mavi Domates
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuText">
<Control xsi:type="Button" id="openSearchButton">
<Label resid="openSearchButtonLabel" />
<Supertip>
<Title resid="openSearchButtonTitle" />
<Description resid="openSearchButtonDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.tpicon_16x16" />
<bt:Image size="32" resid="Contoso.tpicon_32x32" />
<bt:Image size="80" resid="Contoso.tpicon_80x80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getData</FunctionName>
</Action>
</Control>
</OfficeMenu>
</ExtensionPoint>
Когда я добавляю этот код (прямо под значением по умолчанию <ExtensionPoint xsi:type="PrimaryCommandSurface">
) Моя надстройка больше не отображается в «Моем дополнении».ins ". Я загрузил Microsoft средство проверки манифеста , и оно говорит мне, что мой манифест в порядке.
Я сузил его до узла Control
, вызывающего проблему. Если я просто добавлю:
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuText">
</OfficeMenu>
</ExtensionPoint>
моя надстройка по-прежнему отображается в меню. Я также добавил соответствующие строки в мои ресурсы в <bt:ShortStrings>
:
<bt:String id="openSearchButtonLabel" DefaultValue="Check it out!" />
<bt:String id="openSearchButtonTitle" DefaultValue="Hover over me" />
<bt:String id="openSearchButtonDescription" DefaultValue="For more info go here" />
Мой код выглядит точно так же, как и документация.Я не уверен, куда идти отсюда.Я на Mac, если это что-то меняет.