Document.XMLAfterInsert 事件 (Word)

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

语法

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

表达式表示通过在类模块中使用 WithEvents 关键字 (keyword) 声明的“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

另请参阅

Document 对象

支持和反馈

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