Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Probleme mit Bearbeitung einer xml-Datei in Excel VBA

Forumthread: Probleme mit Bearbeitung einer xml-Datei in Excel VBA

Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 02:49:11
Gerry
Ich möchte mittels Excel 2007 eine XML-Datei von Virtual DJ bearbeiten.

In der XML-Datei (VirtualDJ Local Database v6.xml) von Virtual DJ sind Liedinformationen gespeichert.
Die Liedinformtionen wurden in einer Exceldatei gespeichert.
Da es sich um zirka 50k Lieddateien handelt soll die Übertragung der Liedinfos aus der Exceldatei in die XML-Datei per VBA erfolgen.

Leider gibt es Probleme.

Variante 1, direkt mit Excel
Öffne ich die Datei ganz normal mit Excel als "XML-Tabelle", kommt sofort die Meldung "Die angegebene XML-Quelle bezieht sich nicht auf das Schema. Excel wird ein Schema erstellen, das auf den XML-Quelldaten basiert."
Die XML-Datei wird danach als Tabelle - im Kompatibilitätsmodus - mit den Feldnamen als Überschriften angezeigt.
Will ich die XML-Datei mit den Änderungen speichern, erscheint die Fehlermeldung "Die XML-Daten können nicht exportiert oder gespeichert werden. Die XML-Zuordnungen in diesem Arbeitsblatt sind nicht exportierbar."

Variante 2 mit VBA über Excel
Öffne ich die XML-Datei mittels VBA, werden zwar alle Liedinfos in einer Exceltabelle angezeigt, jedoch werden die Feldnamen nur als Überschrift in Zeile 2 angezeigt.
Die XML-Datei wird auch nur "Schreibgeschützt" und im "Kompatibilitätsmodus" geöffnet.
Die Auswahlpfeile bei den Spaltenüberschriften (wie bei öffnen von Excel als XML-Tabelle) fehlen.
Die Liedinfos beginnen in Zeile 3.

Der VBA-Code zum öffnen
Function xlmtest_oeffnen()
ThisFolder = "D:\"
ThisFile = Dir(ThisFolder & "VirtualDJ Local Database v6.xml")

'Kontrolle ob eine Datei vorhanden ist
If Dir(ThisFolder & "\" & ThisFile) = "" Then
MsgBox "ordner leer"
' Exit Sub
End If

'öffnen der Quelldatendatei
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
End Function

Will ich die XML-Datei nach den änderungen speichern, erscheint das Auswahlfenster "Speichern unter", und es wird nach einem Dateinamen gefragt.
Wieso die Frage erscheint, obwohl im Script ein Dateiname festgelegt wird, ist mir unklar.
Gebe ich einen anderen Dateinamen als den gespeicherten an, da ja die Datei mit Schreibschutz geöffnet wurde, kann die Datei gespeichert werden.
Nach dem Umbenennen der gespeicherten XML-Datei und dem Öffnen vom Programm Virtual DJ kommt die Meldung, daß die Datenbank beschädigt ist und repariert werden muß.
Nach dem reparieren der datenbank sind alle gespeicherten Infos weg.

Function XML-Datei speichern

Function xlmtest_speichern()

Dim Datei As Variant
Application.EnableEvents = False
Datei = Application.GetSaveAsFilename("D:\VirtualDJ Local Database v62.xml")
ActiveWorkbook.SaveAs Filename:=Datei, addtomru:=True

End Function

Was übersehe ich, bzw. was mache ich falsch?

Bitte um Hilfe
Gerry
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 04:39:36
xlKing
Hi Gerry,
ich denke nicht, dass du mit einer normalen Bearbeitung per Excel weiterkommst. XML-Dateien sind in erster Linie reine Textdateien, die sich z.B. mit dem Windows Editor (auch Notepad) bearbeiten lassen. Übersichtlicher siehst du die Daten, wenn du die XML mit einem Browser öffnest. Weiterhin kommt es darauf an, ob die XML einen Prüfschlüssel enthält, der eine Bearbeitung so gut wie unmöglich macht. Das ist z.B. bei Bankgeschäften der Fall. Wenn nicht, dann hättest du eine Chance per Excel VBA, allerdings musst du das Programm selbst schreiben. So wie LutzKaraoke in diesem Thread: https://www.virtualdj.com/forums/105009/German_Forum/Virtual_DJ_Pro_XML_Database_aufbauen___importieren.html
Leider hat er sein Programm nicht angeboten. Aber wenn du das mit VBA machen willst, dann geht das am ehesten über OPEN Dateiname For Output As Dateinummer.
https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/open-statement
zunächst musst du den oberen Teil (wenn es einen gibt) 1:1 nachbauen bis du beim Tag Song angelangt bist. Dann mit einer Schleife deine Daten in die Datei schreiben
ggf. noch einen unteren Teil hinzufügen. mit Close Dateinummer abschließen. Mit F5 Ausführen und probieren ob VDJ es nun akzeptiert.

Gruß Mr. K.
Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 10:48:41
Der Steuerfuzzi
Hallo,

grundsätzlich gibt es diverse Methoden, um in Excel xml-Daten zu verarbeiten. Das sind z.B.:

1) Über Powerquery: Das kommt allerdings bei Dir nicht in Frage, da Du xl2007 verwendest. Das gibt es erst ab 2010. Vllt. solltest Du mal darüber nachdenken, ein aktuelles Office zu verwenden (macht auch aus Sicherheitsgründen sinn).

2) Über VBA + ADO. Das funktioniert mW aber nur, wenn es eine Beschreibungsdatei gibt (glaube das ist bei VirtualDJ nicht der fall)

3) Über VBA + DOM/XPATH. Das ist wahrscheinlich die zielführendste Methode, aber wenn Du Dich nicht so gut in VBA auskennst, wird das ein schwieriges Unterfangen.

4) Du liest die xml "selbst" ein und schreibst die in VBA einen parser (also interprtierst die Daten selbst)

Für mich wäre wahrscheinlich Powerquery das sinnvollste Werkzeug, mit dem man am schnellsten zum Ergebnis kommt.

Grüße
Michael
Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 21:21:30
gerry
Danke für den Tip mit Powerquery.
Dieses AddIn kann man zwar nicht in Excel 2007 installieren, aber da ich noch einen PC mit Win-10 und Office 2013 habe, war das kein Problem.
Das einlesen der XML-Datenbank war kein Problem.
Leider hat Excel beim Speichern unter wieder gemeckert.
Aus diesem Grund kann ich Powerquery leider nicht für mein Vorhaben nutzen.
Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 21:36:35
schauan
... Na wenn das Einlesen klappt dann hast Du damit doch schon dieses Problem gelöst. Dann wäre als nächstes das Speichern zu klären. Sieht die Datei denn im Aufbau so aus wie bei GitHub?
Kann man da in dem Programm eventuell einen kleinen Teil, also nur ein paar Titel, als xml speichern? Damit hätte man was zum Programmieren und testen.

Eine andere Variante wäre übrigens die Bearbeitung der xml z.B. mit Notepad oder Pspad
Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 11:17:46
schauan
Hallöchen,

... kommt noch ein Fehler, dass Daten im Textformat importiert wurden?
Eventuell wäre es auch möglich, die Daten mit PQ einzulesen und dann per Makro auszugeben.

schaue mal dort:
https://www.tabellenexperte.de/von-excel-zu-xml-und-zurueck/
https://support.microsoft.com/de-de/office/%C3%BCbersicht-%C3%BCber-xml-in-excel-f11faa7e-63ae-4166-b3ac-c9e9752a7d80

Schaue Dir auch mal zum Vergleich im Browser oder in einem Texteditor das Original an und eine von Excel erzeugte / gespeicherte Variante...
Original dürfte das soaussehen:
https://github.com/mixxxdj/mixxx/wiki/Virtual-Dj-Cue-Storage-Format

Siehe auch
https://www.virtualdj.com/forums/105009/German_Forum/Virtual_DJ_Pro_XML_Database_aufbauen___importieren.html


Anzeige
AW: Probleme mit Bearbeitung einer xml-Datei in Excel VBA
17.11.2025 22:15:06
gerry
Die Vorschläge und Infos aus diesen Beiträgen kannte ich schon, haben mir jedoch noch nicht geholfen.

Ich habe mir die XML-Datei auch schon mit dem HTML-Browser und auch mit Notepad+ angesehen.
Dabei ist mir aufgefallen, daß nicht alle Datensätze gleich angezeigt werden, da nur jene Felder ufgelistet werden, die Daten enthalten.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige