2015-09-09 2 views
-1

Мне нужно определить, были ли какие-либо новые ContentControls вставлены в документ Word 2010 (docx) после вставки, чтобы я мог создать новый узел XML, на который я могу их сопоставить.Определите, были ли добавлены новые ContentControls после вставки?

То, как я это вижу, есть две проблемы:

  1. Как захватить событие вставить? (Я видел предложения по обнаружению комбинации кнопок или нажатия на панели инструментов и т. Д.)
  2. Каков наилучший способ проверки вставленного содержимого элементов управления? (Должен ли я проверить буфер обмена, диапазон в документе и т.д.)

После того, как у меня есть коллекция новых ContentControls, у меня уже есть функции, которые могут проверить для предварительного существования, а также создавать новые отображения если таковые в ContentControls являются новыми. Я просто должен быть в состоянии обнаружить наличие нового ContentControl, когда он вставлен.

**** **** UPDATE

Я не был в состоянии успешно проверить содержимое буфера обмена для ContentControls. Я не могу перечислить данные буфера обмена, чтобы найти элементы управления.

ответ

0

Существует обработчик события, построенный в том, что срабатывает после того, как ContentControl Добавлено:

Private Sub Document_ContentControlAfterAdd(ByVal NewContentControl As ContentControl, ByVal InUndoRedo As Boolean) 

Поместите обработчик событий в ThisDocument модуле (вы можете автоматически создать его из выпадающего меню VBA, когда внутри ThisDocument) ,

Не имеет значения, как добавляется элемент управления (как команды вставки, так и вставки запускают событие). Каждый новый ContentControl запускает событие. Я могу проверить каждый, чтобы увидеть, уже ли он в документе.

Работает как очарование.

Смежные вопросы