É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
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.