Событие Document.XMLAfterInsert (Word)

Возникают, когда пользователь добавляет новый элемент XML в документ. Если в документ одновременно добавляется несколько элементов (например, при вырезании и вставке XML), событие срабатывает для каждого вставленного элемента.

Синтаксис

выражение. XMLAfterInsert'(NewXMLNode**, InUndoRedo)

выражение Переменная, представляющая объект document, объявленный с помощью ключевого слова WithEvents в модуле класса. Сведения об использовании событий с объектом Document см. в статье Использование событий с объектом Document.

Параметры

Имя Обязательный или необязательный Тип данных Описание
NewXMLNode Обязательный XMLNode Новый узел XML.
InUndoRedo Обязательный Boolean Значение "true" означает, что действие было выполнено с помощью функций "Отменить" или "Повторить" в Microsoft Word.

Примечания

Если параметр InUndoRedo имеет значение True, никогда не изменяйте XML в документе во время выполнения событий XMLAfterInsert и XMLBeforeDelete .

Если параметр InUndoRedo имеет значение False, вы можете вставлять и удалять XML в документе, но будьте осторожны, чтобы события XMLAfterInsert и XMLBeforeDelete не пытались отменить друг друга, вызывая бесконечный цикл. Вы можете предотвратить бесконечные циклы, используя глобальную логическую переменную и проверку для нее в начале обработчика ошибок, как показано в следующем примере.

Dim blnIsXMLInsertRunning As Boolean 
 
Private Sub Document_XMLAfterInsert(ByVal DeletedRange As Range, _ 
 ByVal OldXMLNode As XMLNode, ByVal InUndoRedo As Boolean) 
 
 If blnIsXMLInsertRunning = False Then 
 blnIsXMLInsertRunning = True 
 'Insert your event code here. 
 Else 
 Exit Sub 
 End If 
End Sub

Пример

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

Private Sub Document_XMLAfterInsert(ByVal NewXMLNode As XMLNode, _ 
 ByVal InUndoRedo As Boolean) 
 
 NewXMLNode.Validate 
 
 If NewXMLNode.ValidationStatus <> wdXMLValidationStatusOK Then 
 MsgBox NewXMLNode.ValidationErrorText 
 End If 
End Sub

См. также

Объект документа

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.