Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Происходит, когда пользователь добавляет в документ новый 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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.