Word) (Document.XMLAfterInsert 事件
會在使用者將新的 XML 元素新增至文件中時發生。 如果同時在文件中新增一個以上的元素 (例如在剪下並貼上 XML 時),則所插入的每一個元素都會引發此事件。
語法
運算式。XMLAfterInsert' (NewXMLNode**, InUndoRedo)
表達變數,表示已在類別模組中使用WithEvents關鍵字宣告的 'Document' 物件。 如需搭配 Document 物件使用事件的相關資訊,請 參閱搭配 Document 物件使用事件。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
NewXMLNode | 必要 | XMLNode | 新增的 XML 節點。 |
InUndoRedo | 必要 | Boolean | True 表示使用 Microsoft Word 中的 [ 復原或 取消復原] 功能已執行的動作。 |
註解
如果 InUndoRedo 參數為 真 ,永遠不在 XMLAfterInsert 及 XMLBeforeDelete 事件還在執行時變更文件中的 XML。
如果 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 支援與意見反應。