Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XML dans Word

3 réponses
Avatar
Brel Patrice
Bonjour,

Je recherche un exemple d'insertion, en Word, d'informations extraites d'un
fichier XML par l'utilisation de VBA.

Merci d'avance
--
Brel Patrice

3 réponses

Avatar
Anacoluthe
Bonjour Patrice !

'Brel Patrice' nous a écrit ...
Je recherche un exemple d'insertion, en Word, d'informations extraites d'un
fichier XML par l'utilisation de VBA.


Voici _UN_ exemple ;-) ))

Cette macro VBA (oui) inscrit à la fin du document actif tous les auteurs
d'une liste de livres rangés dans un simple fichier externe 'Livres.xml' où
chaque élément Livre contient les éléments Titre, Auteur, Editeur etc
La requête est écrite en XPATH, largement utilisé dans la galaxie xml

' ---------------------------------------------------
Public Sub Liste_Auteurs_XML()
Dim MonXML As New MSXML2.DOMDocument
Dim ixNL As MSXML2.IXMLDOMNodeList

MonXML.Load "C:..livres.xml"
MonXML.setProperty "SelectionLanguage", "XPath"
expXPATH = "//Livre/Auteur" ' expression XPATH

Set ixNL = MonXML.SelectNodes(expXPATH)
If ixNL.Length = 0 Then MsgBox "Pas trouvé!": Exit Sub

For i = 0 To ixNL.Length - 1
ActiveDocument.Content.InsertAfter vbCr & ixNL.Item(i).Text
Next i

Set MonXML = Nothing
Set ixNL = Nothing
End Sub
' ---------------------------------------------------

Vous l'aurez compris en lisant le début de ce code, ce n'est pas VBA
qui est capable d'analyser un fichier xml externe !!!
J'ai choisi ici d'utiliser le modèle objet MSXML qu'il faut prendre
soin de référencer dans VBE (Outils/Références/ Microsoft XML v5.0)
sinon Word-VBA va hurler son ignorance dès la première ligne.

La documentation de tout ça n'a bien entendu rien à voir avec VBA,
il faut la chercher au niveau des outils XML utilisés.

Anacoluthe
« Longue est la route par le précepte,
courte et facile par l'exemple. »
- SÉNÈQUE

Avatar
Circé
Bonsoir anacoluthe,

Je te sens progressivement tomber amoureux d'xml !!! :D
T'as bien pris ton actimel ?... ;))

Circé


Bonjour Patrice !

'Brel Patrice' nous a écrit ...
Je recherche un exemple d'insertion, en Word, d'informations extraites d'un
fichier XML par l'utilisation de VBA.


Voici _UN_ exemple ;-) ))

Cette macro VBA (oui) inscrit à la fin du document actif tous les auteurs
d'une liste de livres rangés dans un simple fichier externe 'Livres.xml' où
chaque élément Livre contient les éléments Titre, Auteur, Editeur etc
La requête est écrite en XPATH, largement utilisé dans la galaxie xml

' ---------------------------------------------------
Public Sub Liste_Auteurs_XML()
Dim MonXML As New MSXML2.DOMDocument
Dim ixNL As MSXML2.IXMLDOMNodeList

MonXML.Load "C:..livres.xml"
MonXML.setProperty "SelectionLanguage", "XPath"
expXPATH = "//Livre/Auteur" ' expression XPATH

Set ixNL = MonXML.SelectNodes(expXPATH)
If ixNL.Length = 0 Then MsgBox "Pas trouvé!": Exit Sub

For i = 0 To ixNL.Length - 1
ActiveDocument.Content.InsertAfter vbCr & ixNL.Item(i).Text
Next i

Set MonXML = Nothing
Set ixNL = Nothing
End Sub
' ---------------------------------------------------

Vous l'aurez compris en lisant le début de ce code, ce n'est pas VBA
qui est capable d'analyser un fichier xml externe !!!
J'ai choisi ici d'utiliser le modèle objet MSXML qu'il faut prendre
soin de référencer dans VBE (Outils/Références/ Microsoft XML v5.0)
sinon Word-VBA va hurler son ignorance dès la première ligne.

La documentation de tout ça n'a bien entendu rien à voir avec VBA,
il faut la chercher au niveau des outils XML utilisés.

Anacoluthe
« Longue est la route par le précepte,
courte et facile par l'exemple. »
- SÉNÈQUE



Avatar
Brel Patrice
Merci et bonne soirée
--
Brel Patrice



Bonjour Patrice !

'Brel Patrice' nous a écrit ...
Je recherche un exemple d'insertion, en Word, d'informations extraites d'un
fichier XML par l'utilisation de VBA.


Voici _UN_ exemple ;-) ))

Cette macro VBA (oui) inscrit à la fin du document actif tous les auteurs
d'une liste de livres rangés dans un simple fichier externe 'Livres.xml' où
chaque élément Livre contient les éléments Titre, Auteur, Editeur etc
La requête est écrite en XPATH, largement utilisé dans la galaxie xml

' ---------------------------------------------------
Public Sub Liste_Auteurs_XML()
Dim MonXML As New MSXML2.DOMDocument
Dim ixNL As MSXML2.IXMLDOMNodeList

MonXML.Load "C:..livres.xml"
MonXML.setProperty "SelectionLanguage", "XPath"
expXPATH = "//Livre/Auteur" ' expression XPATH

Set ixNL = MonXML.SelectNodes(expXPATH)
If ixNL.Length = 0 Then MsgBox "Pas trouvé!": Exit Sub

For i = 0 To ixNL.Length - 1
ActiveDocument.Content.InsertAfter vbCr & ixNL.Item(i).Text
Next i

Set MonXML = Nothing
Set ixNL = Nothing
End Sub
' ---------------------------------------------------

Vous l'aurez compris en lisant le début de ce code, ce n'est pas VBA
qui est capable d'analyser un fichier xml externe !!!
J'ai choisi ici d'utiliser le modèle objet MSXML qu'il faut prendre
soin de référencer dans VBE (Outils/Références/ Microsoft XML v5.0)
sinon Word-VBA va hurler son ignorance dès la première ligne.

La documentation de tout ça n'a bien entendu rien à voir avec VBA,
il faut la chercher au niveau des outils XML utilisés.

Anacoluthe
« Longue est la route par le précepte,
courte et facile par l'exemple. »
- SÉNÈQUE