Поделиться через


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

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

Синтаксис

expression. 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

См. также

Объект Document

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

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