Не удается получить контекстные меню пользовательского интерфейса, работающие в Word 2016 - PullRequest
0 голосов
/ 20 марта 2019

Я написал несколько пользовательских меню ленты пользовательского интерфейса для Excel и Word.У меня есть рабочие контекстные меню (щелчок правой кнопкой мыши) с моими приложениями Excel, но я не могу заставить их работать в Word.Я использовал ту же кодировку, что и в моих рабочих меню в Excel, и написал XML, используя «Редактор пользовательского интерфейса для Microsoft Office», поэтому проблем не должно быть.

Я опубликую свой код.Реальный вопрос в том, будет ли этот тип настраиваемого меню работать в Word вообще?

XML в коде ленты (показывает только последние строки):

</tabs>
</ribbon>

    <contextMenus>
            <contextMenu idMso="ContextMenuCell">
                    <dynamicMenu id="mnuMain" label= "BidSmart Contract" imageMso="DocumentTemplate" getContent="GetContent" insertBeforeMso="Cut"/>
            </contextMenu>
        </contextMenus>

Подпрограмма getContent GetContent выглядит следующим образом:

Sub GetContent(control As IRibbonControl, ByRef returnedVal)

Dim xml As String

xml = "<menu xmlns=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
    "<button id=""mnuCtxtEmail"" label=""Send and Email"" imageMso=""TableSharePointListsRefreshList"" screentip=""Send an Email to the Client, Designer or Contractor..."" onAction=""mnuEmail""/>" & _
    "<button id=""mnuCtxtEnvelope"" label=""Print an Envelope"" imageMso=""WhatIfAnalysisMenu"" screentip=""Create an Envelope addressed to the Client, Designer or Contractor..."" onAction=""mnuEnvelope""/>" & _
    "</menu>"

returnedVal = xml

End Sub

1 Ответ

0 голосов
/ 21 марта 2019

Если вы используете тот же XML-файл ленты, вы не получите контекстное меню XL для работы в WD. Вам нужно найти правильное idMso для контекстного меню в WD, к которому вы хотите добавить свое меню. Вы можете получить контрольные идентификаторы здесь: Контрольные идентификаторы Office 2016

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...