WPS 基础接口 > 文字 API 参考 > Document > 事件 > Document.XMLAfterInsert 事件
用户向文档中添加新 XML 元素时发生。如果同时向文档中添加多个元素(例如,剪切和粘贴 XML 时),则插入的每个元素都会激发该事件。

语法

Private Sub 表达式_XMLAfterInsert(NewXMLNode, InUndoRedo)

表达式   一个代表 Document 对象的变量,该对象已在类模块中使用 WithEvents 关键字声明。有关配合使用事件与 Document 对象的信息,请参阅 配合使用事件与 Document 对象。

参数

名称 必选/可选 数据类型 说明
NewXMLNode 必选 XMLNode 新添加的 XML 节点。
InUndoRedo 必选 Boolean 如果该参数值为 True,则表示已使用 WPS 中的“撤消”“恢复”功能执行了该操作。

说明

如果 InUndoRedo 参数为 True,则不要在 XMLAfterInsertXMLBeforeDelete 事件运行时更改文档中的 XML。

如果 InUndoRedo 参数为 False,则可以在文档中插入和删除 XML,但需小心不要造成 XMLAfterInsertXMLBeforeDelete 事件不断相互取消,从而导致无限循环。可以使用全局 Boolean 变量防止出现无限循环,并在错误处理程序的起始处进行检查,如以下示例所示。

示例代码
let blnIsXMLInsertRunning
function Document_XMLAfterInsert(DeletedRange, OldXMLNode, InUndoRedo) {
    if(blnIsXMLInsertRunning == false) {
        blnIsXMLInsertRunning = true
        //Insert your event code here.
    } else {
        return 
    }
}

示例

以下示例验证一个新添加的节点,如果节点无效,则显示一条描述验证错误的消息。

示例代码
function Document_XMLAfterInsert(NewXMLNode, InUndoRedo){
    NewXMLNode.Validate()

    if(NewXMLNode.ValidationStatus != wdXMLValidationStatusOK) {
        MsgBox(NewXMLNode.ValidationErrorText)
    }
}


请参阅