Document.XMLAfterInsert 事件 (Word)
用户向文档中添加新 XML 元素时发生。 如果同时向文档中添加多个元素(例如,剪切和粘贴 XML 时),则插入的每个元素都会激发该事件。
语法
表达式。XMLAfterInsert' (NewXMLNode**, InUndoRedo)
表达一个变量,该变量表示在类模块中使用 WithEvents 关键字声明的“Document”对象。 有关对 Document 对象使用事件的信息,请参阅 对 Document 对象使用事件。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
NewXMLNode | 必需 | XMLNode | 新添加的 XML 节点。 |
InUndoRedo | 必需 | Boolean | 为 true ,则表示使用 Microsoft Word 中的 撤消或 重做功能时执行的操作。 |
备注
如果 InUndoRedo 参数为 True ,永远不会更改文档中的 XML,运行的 XMLAfterInsert 和 XMLBeforeDelete 事件时。
如果 InUndoRedo 参数为 False ,则可以插入和删除文档中的 XML,但小心, XMLAfterInsert 和 XMLBeforeDelete 事件将不会取消彼此,从而导致无限循环。 您可以防止出现无限循环使用全局 Boolean 变量并在错误处理程序中,如下面的示例中所示的开始进行检查。
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 支持和反馈,获取有关如何接收支持和提供反馈的指南。