Classe XMLNode (Word VBA)

La classe XMLNode représente un seul élément XML appliqué à un document.

Les procédures principales de la classe XMLNode sont Copy et Delete

Set

Pour utiliser une variable de classe XMLNode, elle doit d'abord être instanciée, par exemple

Dim xml as XMLNode
Set xml = Dim strXPath As String: strXPath = 
ActiveDocument.SelectSingleNode(XPath:=strXPath)

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe XMLNode : Document.SelectSingleNode, FirstChild, LastChild, SelectSingleNode, NextSibling, ParentNode, PreviousSibling, XMLNodes.Item, Document.SelectNodes, SelectNodes, Attributes et ChildNodes

For Each

Voici un exemple de traitement des éléments XMLNode dans une collection

Dim nod As XMLNode 
Dim strValid As String 
For Each nod In ActiveDocument.XMLNodes 
 nod.Validate 
 If nod.ValidationStatus <> wdXMLValidationStatusOK Then 
 strValid = strValid & nod.BaseName & vbTab & nod.ValidationErrorText & vbCrLf 
 End If 
Next 
MsgBox "The following elements do not validate against " &  "the schema." & vbCrLf & vbCrLf & strValid & vbCrLf &  "You should fix these elements before continuing."

Méthodes

Les méthodes principales de la classe XMLNode sont

Copy - Copie l'élément XML spécifié, à l'exception de la balise XML, dans le Presse-papiers.

ActiveDocument.SelectSingleNode.Copy

Delete - Supprime l'élément XML spécifié à partir d'un document XML.

ActiveDocument.SelectSingleNode.Delete

Autre Méthodes

SelectNodes - Renvoie une collection XMLNodes qui représente tous les éléments enfants correspondant au paramètre XPath, dans leur ordre d'affichage dans l'élément XML spécifié.

Dim strXPath As String: strXPath =  
Dim xmlsSelectNodes As XMLNodes
Set xmlsSelectNodes = ActiveDocument.SelectSingleNode.SelectNodes(XPath:=strXPath)

SelectSingleNode - Renvoie un objet XmlNode qui représente le premier élément enfant correspondant au paramètre XPath dans l'élément XML spécifié.

Dim strXPath As String: strXPath =  
Dim xmlSelectSingleNode As XMLNode
Set xmlSelectSingleNode = ActiveDocument.SelectSingleNode.SelectSingleNode(XPath:=strXPath)

SetValidationError - Modifie le texte d'erreur de validation affiché pour un utilisateur pour un nœud spécifié et oblige Word à signaler un nœud comme invalide.

ActiveDocument.SelectSingleNode.SetValidationError Status:=wdXMLValidationStatusCustom

Propriétés

Attributes Renvoie une collection XMLNodes qui représente les attributs d'un élément spécifié.

Dim xmlsAttributes As XMLNodes
Set xmlsAttributes = ActiveDocument.SelectSingleNode.Attributes

BaseName Renvoie une valeur de type String qui représente le nom de l'élément sans préfixe.

Dim strBaseName As String
strBaseName = ActiveDocument.SelectSingleNode.BaseName

ChildNodes Renvoie une collection XMLNodes qui représente les éléments enfants d'un élément spécifié.

Dim xmlsChildNodes As XMLNodes
Set xmlsChildNodes = ActiveDocument.SelectSingleNode.ChildNodes

FirstChild Renvoie un objet DiagramNode qui représente le premier nœud enfant d’un nœud parent.

Dim xmlFirstChild As XMLNode
Set xmlFirstChild = ActiveDocument.SelectSingleNode.FirstChild

HasChildNodes Renvoie une valeur de type Boolean qui indique si un nœud XML possède des nœuds enfants.

Dim booHasChildNodes As Boolean
booHasChildNodes = ActiveDocument.SelectSingleNode.HasChildNodes

LastChild Renvoie un objet XmlNode qui représente le dernier nœud enfant d'un élément XML.

Dim xmlLastChild As XMLNode
Set xmlLastChild = ActiveDocument.SelectSingleNode.LastChild

Level Renvoie une constante WdXMLNodeLevel qui indique si un élément XML fait partie d'un paragraphe, s'il est un paragraphe, s'il est contenu dans une cellule de tableau ou s'il contient une ligne de tableau.

Dim wxmLevel As WdXMLNodeLevel
wxmLevel = ActiveDocument.SelectSingleNode.Level

NamespaceURI Renvoie une valeur de type String qui représente l’URI (Uniform Resource Identifier) de l’espace de noms de schéma pour l’objet spécifié.

Dim strNamespaceURI As String
strNamespaceURI = ActiveDocument.SelectSingleNode.NamespaceURI

NextSibling Renvoie un objet XmlNode qui représente l’élément suivant dans le document au même niveau que l’élément spécifié.

Dim xmlNextSibling As XMLNode
Set xmlNextSibling = ActiveDocument.SelectSingleNode.NextSibling

NodeType Renvoie une constante WdXMLNodeType qui représente le type de nœud.

Dim wxmNodeType As WdXMLNodeType
wxmNodeType = ActiveDocument.SelectSingleNode.NodeType

NodeValue Cette propriété renvoie ou définit une chaîne qui représente la valeur d'un élément XML.

ActiveDocument.SelectSingleNode.NodeValue =

OwnerDocument Renvoie un objet document qui représente le document parent de l'élément XML spécifié.

Dim docOwnerDocument As Document
Set docOwnerDocument = ActiveDocument.SelectSingleNode.OwnerDocument

Parent Renvoie un Object qui représente l'objet parent de l'objet XMLNode spécifié.

Dim objParent As Object
Set objParent = ActiveDocument.SelectSingleNode.Parent

ParentNode Renvoie un objet XmlNode qui représente l'élément parent de l'élément spécifié.

Dim xmlParentNode As XMLNode
Set xmlParentNode = ActiveDocument.SelectSingleNode.ParentNode

PlaceholderText Définit ou renvoie une valeur de type String qui représente le texte affiché pour un élément qui ne contient pas de texte.

ActiveDocument.SelectSingleNode.PlaceholderText =

PreviousSibling Renvoie un objet XmlNode qui représente l’élément précédent dans le document au même niveau que l’élément spécifié.

Dim xmlPreviousSibling As XMLNode
Set xmlPreviousSibling = ActiveDocument.SelectSingleNode.PreviousSibling

Range Renvoie un objet Range qui représente la partie d'un document contenue dans l'objet spécifié.

Dim rngRange As Range
Set rngRange = ActiveDocument.SelectSingleNode.Range

Text Cette propriété renvoie ou définit le texte contenu dans l'élément XML.

ActiveDocument.SelectSingleNode.Text =

ValidationErrorText Renvoie une valeur de type String qui représente la description d’une erreur de validation sur un objet XmlNode .

Dim strValidationErrorText As String
strValidationErrorText = ActiveDocument.SelectSingleNode.ValidationErrorText

ValidationStatus Renvoie une constante WdXMLValidationStatus qui indique si un élément ou un attribut est valide par rapport au schéma attaché.

Dim wxmsValidationStatus As WdXMLValidationStatus
wxmsValidationStatus = ActiveDocument.SelectSingleNode.ValidationStatus

WordOpenXML Renvoie une valeur de type String qui représente le code XML pour le nœud au format Microsoft Word Open XML.

Dim strWordOpenXML As String
strWordOpenXML = ActiveDocument.SelectSingleNode.WordOpenXML

XML

Dim strXML As String
strXML = ActiveDocument.SelectSingleNode.XML

XMLNodes.Count Renvoie un type long qui représente le nombre d'éléments XML dans la collection.

Dim lngCount As Long
lngCount = ActiveDocument.SelectSingleNode.Attributes.Count

XMLNodes.Parent Renvoie un Object qui représente l'objet parent de l'objet XMLNodes spécifié.

Dim objParent As Object
Set objParent = ActiveDocument.SelectSingleNode.Attributes.Parent