Ich möchte aus mehreren XML Dateien, welche alle in einem Ordner sind, jeweils das gleiche Tag „ID“ auslesen und die Ergebnisse untereinander in einer Excel-Tabelle auflisten. In jeder Datei kommt das Tag „ID“ nur einmal vor.
Das Makro läuft, allerdings überschreibt der Inhalt der folgenden (Inhalt der zweiten) Datei immer den Inhalt der Datei zuvor (ersten Datei). Es ist beim Ausführen zu erkennen, dass die DO WHILE LOOP Schleife funktioniert. Das Problem liegt bei der Auflistung der Ergebnisse in der Excel-Tabelle bzw. an der Zielangabe im Code.
Hab schon einiges versucht das Makro anzupassen, aber entweder sind die Typen nicht verträglich oder es funktioniert einfach nicht.
Da ich noch nicht so sehr mit VBA vertraut bin, hoffe ich auf hilfreiche Antworten!
ConststrPath = "D:\Test\"
Sub XML()
Dim nodeXML As Object
Dim x As Integer
Dim StrFilename As Variant
StrFilename = Dir("D:\Test\*.xml")
Do While StrFilename<> ""
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.setProperty "SelectionLanguage", "XPath"
xmlDoc.Load(strPath & StrFilename)
Set nodeXML = xmlDoc.getElementsByTagName("ID")
For i = 0 To nodeXML.Length - 1
Sheets(1).Cells(x + 1, "A").Value = nodeXML(i).Text
Next
StrFilename = Dir
Loop
End Sub
|