
130771
09.09.2016
Csv in xml umwandeln mit VBA
Hallo zusammen,
ich bin neu in der Commuity und auch neu im Bereich der Programmierung mit VBA.
Ich habe leider im Forum nicht passendes gefunden, daher nun mein Frage.
Und zwar wollte ich folgendes wissen, gibt es eine Möglichkeit mit VBA eine eingelesene .csv in eine .xml umzuwanden?
Vielen Dank schon mal für die Hilfe
ich bin neu in der Commuity und auch neu im Bereich der Programmierung mit VBA.
Ich habe leider im Forum nicht passendes gefunden, daher nun mein Frage.
Und zwar wollte ich folgendes wissen, gibt es eine Möglichkeit mit VBA eine eingelesene .csv in eine .xml umzuwanden?
Vielen Dank schon mal für die Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 314819
Url: https://administrator.de/forum/csv-in-xml-umwandeln-mit-vba-314819.html
Ausgedruckt am: 12.05.2025 um 17:05 Uhr
8 Kommentare
Neuester Kommentar

Yes, but you need to tell us how the XML should look like, found this already on the board
CSV to XML Konverter
Regards
CSV to XML Konverter
Regards

And your CSV ??? Which column maps to which attribute? And has your CSV a header row?
Hallo Jou5126, willkommen auf Administrator.de!
Hier ein Beispiel für deine Daten
(Kommentare siehe jede Zeile des Codes)
Grüße Uwe
-edit- Rechtschreibfehler im Code korrigiert
Hier ein Beispiel für deine Daten
(Kommentare siehe jede Zeile des Codes)
' Variablen
Dim fso, objXML, rows, cols, headers, i, j, node
' Konstanten
' Pfad der CSV-Datei
Const FILE_IN = "C:\data.csv"
' Pfad für das erstellte XML-File
Const FILE_OUT = "C:\data_out.xml"
'Trennzeichen der CSV festlegen
Const DELIMITER = ","
'Objekte erstellen
Set fso = CreateObject("Scripting.FileSystemObject")
Set objXML = CreateObject("msxml2.domdocument.6.0")
'XML Objekt mit Document-Element initialisieren
objXML.loadXML "<?xml version=""1.0"" encoding=""utf-8""?><root></root>"
'Zeilen der CSV einlesen
rows = Split(fso.OpenTextFile(FILE_IN).ReadAll(),vbNewLine)
'Überschriften einlesen
headers = Split(rows(0),DELIMITER,-1,1)
'Für jede Zeile der CSV
For i = 1 To UBound(rows)
'Neuen Knoten mit dem Elementnamen "row" erstellen
Set node = objXML.createElement("row")
'Spalten der aktuellen Zeile in Array splitten
cols = Split(rows(i),DELIMITER,-1,1)
'Daten jeder Spalte als Attribut in den Knoten schreiben
For j = 0 To UBound(cols)
node.setAttribute headers(j),cols(j)
objXML.documentElement.appendChild node
Next
Next
'XML-Datei speichern
objXML.save(FILE_OUT)
MsgBox "Fertig."
-edit- Rechtschreibfehler im Code korrigiert

<name"Jon" birthday"19950509" adress"Elmstreet14" />
This is no valid XML, my friend.
Moin colinardo,
Auch als Moderator kann ich nicht richtig viel Sinnvolles damit machen ausgenommen das Umbetten in den
Eigentlich möchte ich es ganz löschen, wollte dir aber Gelegenheit geben, deinen Grundgerüst-Konvertierschnipsel ggf zu sichern für künftige FrageInnen. Den Zwischenschritt über Papiekorb schenke ich mir.
Bitte sende mir kurz eine PN, wenn ich dieses Beitrags-Ärgernis ganz vaporisieren kann - das macht auch mir schlechte Laune.
Grüße
Biber
Zitat von @colinardo:
Was ist jetzt los? Ohne ein einziges Wort abgemeldet???
Höflichkeit geht anders!
Idiot !
Ist wirklich eine Frechheit und dieser Mensch lässt uns keine Optionen ausser dem Verwenden unflätiger Worte und dem heftigen Aufstampfen mit dem Fuss.Was ist jetzt los? Ohne ein einziges Wort abgemeldet???
Idiot !
Auch als Moderator kann ich nicht richtig viel Sinnvolles damit machen ausgenommen das Umbetten in den
### Papierkorb ###.
Eigentlich möchte ich es ganz löschen, wollte dir aber Gelegenheit geben, deinen Grundgerüst-Konvertierschnipsel ggf zu sichern für künftige FrageInnen. Den Zwischenschritt über Papiekorb schenke ich mir.
Bitte sende mir kurz eine PN, wenn ich dieses Beitrags-Ärgernis ganz vaporisieren kann - das macht auch mir schlechte Laune.
Grüße
Biber