Document.XMLAfterInsert-Ereignis (Word)

Tritt ein, wenn ein Benutzer ein neues XML-Element zu einem Dokument hinzufügt. Wenn mehrere Elemente gleichzeitig zu einem Dokument hinzugefügt werden (z. B. beim Ausschneiden und Einfügen von XML), wird das Ereignis für jedes eingefügte Element ausgelöst.

Syntax

Ausdruck. XMLAfterInsert'(NewXMLNode**, InUndoRedo)

Ausdruck Eine Variable, die ein Document-Objekt darstellt, das mithilfe des WithEvents-Schlüsselworts in einem Klassenmodul deklariert wurde. Informationen zur Verwendung von Ereignissen mit einem Document-Objekt finden Sie unter Verwenden von Ereignissen mit dem Document-Objekt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
NewXMLNode Erforderlich Xmlnode Der neu hinzugefügte XML-Knoten.
InUndoRedo Erforderlich Boolean True gibt an, dass die Aktion mithilfe des Befehls Rückgängig oder Wiederholen in Microsoft Word ausgeführt wurde.

HinwBemerkungeneise

Wenn der InUndoRedo-Parameter True ist, ändern Sie niemals den XML-Code in einem Dokument, während die Ereignisse XMLAfterInsert und XMLBeforeDelete ausgeführt werden.

Wenn der InUndoRedo-Parameter False ist, können Sie den XML-Code im Dokument einfügen und löschen. Achten Sie jedoch darauf, dass die Ereignisse XMLAfterInsert und XMLBeforeDelete nicht versuchen, sich gegenseitig abzubrechen, was zu einer Endlosschleife führt. Sie können Endlosschleifen verhindern, indem Sie eine globale boolesche Variable verwenden und diese am Anfang des Fehlerhandlers überprüfen, wie im folgenden Beispiel gezeigt.

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

Beispiel

Im folgenden Beispiel wird ein neu hinzugefügter Knoten überprüft. Falls der Knoten ungültig ist, wird eine Meldung angezeigt, die den Gültigkeitsfehler beschreibt.

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

Siehe auch

Document-Objekt

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.