Inhalte aus XML in Excel auslesen
Schritt-für-Schritt-Anleitung
Um bestimmte Inhalte aus einer XML-Datei in Excel auszulesen, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)".
- Wähle "Einfügen" > "Modul".
- Kopiere den folgenden Code in das Modul:
Sub HoleDaten()
Dim iFF As Integer, sFilename As String
Dim sArr() As String, iOutZeile As Long, iZeile As Long
sFilename = "D:\Daten\Parametrik\Defintionen.xml"
iFF = FreeFile
If Dir(sFilename) <> "" Then
Open sFilename For Input As iFF
sArr = Split(Input(LOF(iFF), iFF), vbCrLf)
Close iFF
iOutZeile = 1
For iZeile = 0 To UBound(sArr)
If InStr(sArr(iZeile), "_Bibliothek=") > 0 Then
ActiveSheet.Cells(iOutZeile, 1).Value = Split(Split(sArr(iZeile), "_Bibliothek=")(1), """")(1)
iOutZeile = iOutZeile + 1
End If
Next iZeile
End If
End Sub
- Ändere den Pfad
sFilename
zu dem Ort, an dem deine XML-Datei gespeichert ist.
- Führe das Makro aus, indem du im VBA-Editor auf
F5
drückst oder das Makro über Excel startest.
Häufige Fehler und Lösungen
-
Fehler: "Datei nicht gefunden"
- Überprüfe den Dateipfad in der
sFilename
-Variable. Stelle sicher, dass er korrekt ist.
-
Fehler: Keine Daten importiert
- Stelle sicher, dass die XML-Datei das Format hat, das du erwartest. Überprüfe, ob
_Bibliothek=
in den Zeilen vorhanden ist.
-
Fehler: Importierte Zeilen sind nicht korrekt
- Achte darauf, dass der Code die Anführungszeichen korrekt behandelt. Verwende
Split
und Replace
, um die gewünschten Inhalte zu extrahieren.
Alternative Methoden
Wenn du keine VBA verwenden möchtest, kannst du auch:
- Power Query nutzen: Importiere die XML-Datei direkt über "Daten" > "Abrufen und Transformieren" > "Aus Datei" > "Aus XML".
- Die Excel-Funktion "Text in Spalten" verwenden, um die Daten, die du bereits in Excel hast, zu trennen.
Praktische Beispiele
Angenommen, deine XML-Datei enthält folgende Zeilen:
<Bibliothek>_Bibliothek="daten/BUS_Bussystem.txt"</Bibliothek>
<Bibliothek>_Bibliothek="daten/BEL_Beleuchtung.txt"</Bibliothek>
Nach dem Ausführen des Makros solltest du in Excel folgende Ergebnisse erhalten:
A |
daten/BUS_Bussystem.txt |
daten/BEL_Beleuchtung.txt |
Tipps für Profis
- Optimierung des Codes: Du kannst den Code weiter optimieren, indem du zusätzliche Fehlerbehandlungen hinzufügst oder die Leistung verbesserst, indem du in Arrays arbeitest.
- Automatisierung: Überlege, das Makro automatisch beim Öffnen der Datei auszuführen.
- Dokumentation: Halte den Code gut dokumentiert, um Änderungen und Wartung zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich mehrere XML-Dateien auslesen?
Du kannst die Schleife erweitern, um mehrere Dateien zu verarbeiten, indem du eine Liste von Dateipfaden erstellst.
2. Kann ich die Daten in ein anderes Format exportieren?
Ja, du kannst die Daten nach dem Auslesen in andere Formate wie CSV oder JSON exportieren, indem du die entsprechenden Funktionen in VBA verwendest.
3. Funktioniert dieser Code in Excel für Mac?
Ja, der Code sollte auch in Excel für Mac funktionieren, allerdings kann der Dateipfad unterschiedlich sein. Achte darauf, den Pfad entsprechend anzupassen.