Как обнаружить изменение ориентации раздела Word в коде надстройки ленты VSTO? - PullRequest
0 голосов
/ 26 мая 2018

В моей надстройке Word VSTO для ленты мне нужно определить, когда пользователь изменяет ориентацию страницы текущего раздела, используя встроенную функцию Word.

Итак, когда пользователь переходит в Word> Макет (вкладка ленты)> Ориентация> Портрет / Пейзаж

Мне нужно отловить это событие в коде VSTO для активного документа, чтобы я мог обработать его и внести некоторые коррективы в код документа.

1 Ответ

0 голосов
/ 27 мая 2018

К сожалению, Word не предоставляет события, которое сработает при выполнении этого действия.Таким образом, единственный способ, которым вы можете «заманить» это в ловушку, это настроить ленту с помощью RibbonXML (конструктор не может делать то, что вам нужно).

Лента XML должна будет скрыть встроенный PageSetupgroup, и вам нужно будет определить пользовательскую группу (которую вы можете пометить Page Setup), содержащую те же кнопки, что и встроенную группу.Для всех, кроме ориентации, вы можете использовать значения idMso для кнопок.

Для ориентации используйте кнопку меню со своим собственным значением идентификатора, но вы можете использовать idMso для встроенного изображения, чтобы оно выгляделотот же самый.Определите элементы меню «Портрет» и «Пейзаж» с помощью обратных вызовов, которые выполняют действия по умолчанию (если вы этого хотите), и уведомите остальную часть кода так, как вам нужно.

Статья из трех частей НастройкаOffice Fluent Ribbon для разработчиков содержит всю необходимую информацию, но вам нужно собрать ее вместе.Также есть некоторая документация VSTO по работе с лентой.И есть много примеров, если вы ищете.

...