Bonjour à tous et toutes,
J'essaye à l'heure actuelle de modifier la 2ème ligne d'un fichier xml généré à partir d'Excel.
Ligne initiale :
<all_comments xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
Ligne attendue:
<all_comments mode="diff">
J'arrive bien à :
- récupérer le contenu du fichier
- modifier la ligne que je veux en passant par la fonction replace
- afficher via la fonction MsgBox le nouveau texte
mais impossible de le remettre dans mon fichier xml pour le sauvegarder. J'ai une erreur sur la ligne de sauvegarde sur le type d'objet
Est-ce la bonne méthode ?
J'ai essayé en passant par les noeuds mais je n'y arrive pas.
Avez-vous des conseils ?
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub ModifyXMLFile() Set xmlDoc = CreateObject("Microsoft.XMLDOM") Set XML_Content = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False If xmlDoc.Load("C:\export_xml_10-08-2017.xml") Then 'MsgBox "Document XML correctement chargé" XML_Content = xmlDoc.XML TexteInitial = "<all_reviews xmlns:xsi=""" & "http://www.w3.org/2001/XMLSchema-instance" & """" & ">" TexteNouveau = "<all_reviews mode=""" & "diff" & """" & ">" XML_Content = Replace(XML_Content, TexteInitial, TexteNouveau) xmlDoc = XML_Content MsgBox XML_Content xmlDoc.Save "C:\export_xml_10-08-2017_modified.xml" Else MsgBox "Erreur de lecture du document XML" End If Set xmlDoc = Nothing End Sub
Partager