Изменить событие в Microsoft.Office.Interop.Word

Есть ли какое-либо событие в вышеупомянутом пространстве имен, которое срабатывает при возникновении каких-либо изменений или при редактировании документа, например, при вводе текста?

Я старался

Microsoft.Office.Interop.Word.ApplicationEvents4_WindowSelectionChangeEventHandler
&
Microsoft.Office.Interop.Word.ApplicationEvents4_EPostageInsertEventHandler

Но я не могу инициировать событие всякий раз, когда я вставляю текст в активный текстовый документ.


person Farooq Ahmed Khan    schedule 23.03.2012    source источник


Ответы (2)


К сожалению, объектная модель Word не предоставляет никаких событий нажатия клавиш,

Список событий Word — Документировать события

Вы можете попробовать реализовать глобальный хук клавиатуры для достижения того, что вы ищете, с помощью Win32 API.

person Denys Wessels    schedule 26.10.2012

Вы можете найти довольно старую, но все еще очень информативную страницу на сайте MVPS Word об использовании событий Word в программировании VBA (http://word.mvps.org/FAQs/MacrosVBA/AppClassEvents.htm). Обратите внимание на предостережение в конце страницы о том, что использование некоторых событий может повлиять на производительность Word; Я помню также другие страницы, выражающие это предостережение о «перехвате события типа текста».

На самом деле, я разрабатываю решения для Word с 1994 года и редко сталкивался с необходимостью перехватывать событие type. Я предпочел бы бояться смешиваться с пользовательским вводом на этом уровне и искать альтернативный подход.

person domke consulting    schedule 05.04.2013