Événement Document.XMLAfterInsert (Word)

Se produit lorsqu'un utilisateur ajoute un nouvel élément XML à un document. Si plusieurs éléments sont ajoutés au document en même temps, par exemple lorsque l'utilisateur coupe et colle du code XML, l'événement est déclenché pour chaque élément inséré.

Syntaxe

expression. XMLAfterInsert'(NewXMLNode**, InUndoRedo)

Expression Variable qui représente un objet « Document » qui a été déclaré à l’aide du mot clé WithEvents dans un module de classe. Pour plus d’informations sur l’utilisation d’événements avec un objet Document , consultez Utilisation d’événements avec l’objet Document.

Parameters

Nom Requis/Facultatif Type de données Description
NewXMLNode Obligatoire XMLNode Nœud XML récemment ajouté.
InUndoRedo Obligatoire Booléen True indique que l'action a été effectuée à l'aide de la fonctionnalité Annuler ou Rétablir dans Microsoft Word.

Remarques

Si le paramètre DansAnnulerRétablir a la valeur True, ne modifiez jamais le XML dans un document pendant que les événements XMLAfterInsert et XMLBeforeDelete sont en cours d'exécution.

Si le paramètre DansAnnulerRétablir a la valeur False, vous pouvez insérer et supprimer l'élément XML dans le document, mais vérifiez que les événements XMLAfterInsert et XMLBeforeDelete ne seront pas mutuellement, entraînant une boucle infinie. Vous pouvez empêcher les boucles infinies en utilisant une globale variable de type Boolean et effectuer cette vérification au début du Gestionnaire d'erreurs, comme illustré dans l'exemple suivant.

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

Exemple

L'exemple suivant valide un nœud récemment ajouté et affiche un message décrivant l'erreur de validation si le nœud n'est pas valide.

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

Voir aussi

Objet Document

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.