Переназначить встроенные команды Word - получить доступ к оригинальной команде в перенаправленной функции - PullRequest
3 голосов
/ 21 апреля 2010

Можно повторно использовать встроенную команду Word в Word 2007, используя файл customUI.xml.

Пример:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <commands>
       <command idMso="Save" onAction="MySave"/>
    </commands>
</customUI>

Затем мне нужно определить функцию обратного вызова в VBA, котораявместо встроенной функции используется:

Sub MySave(control As IRibbonControl, ByRef cancelDefault)
     someFancyPreparationFunction
     oldSaveFunction 
     someOtherFancyAfterWorkFunction
End Sub

И вот моя проблема: если я хочу повторно использовать внутреннюю функциональность в своей многоцелевой функции, я не знаю, как получить к ней доступ.Мой пример тривиален, и сохранение может быть легко перестроено с помощью вызова ThisDocument.save, но, как я уже сказал, это всего лишь пример, показывающий проблему.

Вызов CommandBars.ExecuteMso('Save') вызовет мою перенастроенную функциюи не оригинал.Любые идеи о том, как получить доступ к внутренней функциональности после перепрофилирования, очень ценятся!

...