Wie man XML mit VBA analysiert: Eine Schritt-für-Schritt-Anleitung

Die Analyse von XML kann zunächst einschüchternd erscheinen, insbesondere für diejenigen, die neu in der Welt von VBA sind. Wenn Sie Werte aus einer XML-Struktur zugreifen müssen, zum Beispiel X- und Y-Koordinaten von einem Punkt zu extrahieren, sind Sie hier genau richtig! In diesem Beitrag werden wir den Prozess der Analyse von XML in VBA untersuchen, um Daten effizient zu extrahieren.

Das Problem: Extraktion von X- und Y-Werten

Stellen Sie sich vor, Sie haben einen XML-String, der so aussieht:

<PointN xsi:type='typens:PointN' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
xmlns:xs='http://www.w3.org/2001/XMLSchema'>
    <X>24.365</X>
    <Y>78.63</Y>
</PointN>

Sie möchten die Werte von X und Y extrahieren, damit Sie sie als Ganzzahlvariablen in Ihrem VBA-Code speichern können. Als Neuling in XML und VBA stellt sich die Frage: Wie erreiche ich das?

Die Lösung: Verwendung von MSXML2.DOMDocument

Glücklicherweise gibt es eine einfache Methode, um XML-Daten mithilfe des MSXML2.DOMDocument-Objekts in VBA zu analysieren. Hier sind die Schritte, die Sie befolgen sollten:

Schritt 1: MSXML2-Referenz einrichten

Bevor Sie mit dem Programmieren beginnen, stellen Sie sicher, dass Sie die Microsoft XML, v6.0-Bibliothek in Ihrem VBA-Editor referenziert haben. So geht’s:

  1. Öffnen Sie Ihren VBA-Editor (Drücken Sie ALT + F11).
  2. Klicken Sie auf Extras > Verweise.
  3. Suchen Sie nach Microsoft XML, v6.0 und aktivieren Sie das Kontrollkästchen daneben.
  4. Klicken Sie auf OK.

Schritt 2: Laden des XML-Strings

Sie können Ihren XML-String in ein DOMDocument wie folgt laden:

Dim xmlDoc As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")

xmlDoc.LoadXML "<PointN xsi:type='typens:PointN' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema'><X>24.365</X><Y>78.63</Y></PointN>"

Schritt 3: Zugriff auf die X- und Y-Knoten

Sobald die XML-Struktur geladen ist, können Sie die X- und Y-Werte mit der selectSingleNode-Methode einfach abrufen:

Dim xValue As Double
Dim yValue As Double

xValue = xmlDoc.SelectSingleNode("//X").Text
yValue = xmlDoc.SelectSingleNode("//Y").Text

Schritt 4: Als Ganzzahlvariablen speichern

Falls erforderlich, können Sie diese Werte in Ganzzahlen umwandeln:

Dim xInt As Integer
Dim yInt As Integer

xInt = CInt(xValue)
yInt = CInt(yValue)

Zusammenfassung der Schritte

  1. Richten Sie die Referenz zu MSXML2 ein.
  2. Laden Sie Ihren XML-String in ein DOMDocument.
  3. Verwenden Sie selectSingleNode, um die Werte von X und Y zu erhalten.
  4. Wandeln Sie die Werte bei Bedarf in Ganzzahlen um.

Fazit

Die Analyse von XML in VBA mag zunächst kompliziert erscheinen, aber mit dem MSXML2.DOMDocument-Objekt wird es zu einer wesentlich einfacheren Aufgabe. Durch das Befolgen dieser Schritte können Sie Werte aus XML-Strukturen problemlos extrahieren und in Ihrer Arbeit nutzen.

Für weiterführende Informationen und Erkundungen sollten Sie die folgenden Ressourcen besuchen:

Mit diesem Leitfaden sind Sie gut gerüstet, um die XML-Analyse in Ihren VBA-Projekten anzugehen. Viel Spaß beim Programmieren!