Document.XMLAfterInsert 事件 (Word)

用户向文档中添加新 XML 元素时发生。 如果同时向文档中添加多个元素(例如,剪切和粘贴 XML 时),则插入的每个元素都会激发该事件。

语法

表达式XMLAfterInsert' (NewXMLNode**, InUndoRedo)

表达一个变量,该变量表示在类模块中使用 WithEvents 关键字声明的“Document”对象。 有关对 Document 对象使用事件的信息,请参阅 对 Document 对象使用事件

参数

名称 必需/可选 数据类型 说明
NewXMLNode 必需 XMLNode 新添加的 XML 节点。
InUndoRedo 必需 Boolean 为 true ,则表示使用 Microsoft Word 中的 撤消重做功能时执行的操作。

备注

如果 InUndoRedo 参数为 True ,永远不会更改文档中的 XML,运行的 XMLAfterInsertXMLBeforeDelete 事件时。

如果 InUndoRedo 参数为 False ,则可以插入和删除文档中的 XML,但小心, XMLAfterInsertXMLBeforeDelete 事件将不会取消彼此,从而导致无限循环。 您可以防止出现无限循环使用全局 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

另请参阅

Document 对象

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。