Verweis auf Microsoft XML in Excel VBA
Schritt-für-Schritt-Anleitung
Um einen Verweis auf Microsoft XML in Excel VBA zu setzen, folge diesen Schritten:
- Öffne Microsoft Excel und gehe in das VBA-Editor-Fenster. Dies kannst Du tun, indem Du die Tastenkombination
ALT + F11
verwendest.
- Klicke im Menü auf
Extras
und wähle Verweise
.
- In der Liste der verfügbaren Verweise suche nach
Microsoft XML, v6.0
oder MSXML5.DLL
(je nach installierter Version).
- Setze ein Häkchen neben dem gewünschten Verweis und klicke auf
OK
.
- Jetzt kannst Du VBA verwenden, um XML-Dokumente zu erstellen und zu manipulieren.
Hier ist ein einfaches Beispiel, wie Du ein XML-Dokument mit DOMDocument
in VBA erstellen kannst:
Sub CreateNewXML()
' Anlegen XMLFile
Dim oXMLFile As New DOMDocument60
' Anlegen der Wurzel
Dim oRoot As IXMLDOMNode
Set oRoot = oXMLFile.createNode("element", "WURZEL", "")
oXMLFile.appendChild oRoot
' Erstes Element
Dim oChild As IXMLDOMElement
Set oChild = oXMLFile.createNode("element", "EINTRAG", "")
oChild.Text = "hier kommt dann der Inhalt rein, oder so"
oRoot.appendChild oChild
' Attribut hinzufügen
Dim oAttr As IXMLDOMAttribute
Set oAttr = oXMLFile.createAttribute("ID")
oAttr.Value = 15
oChild.setAttributeNode oAttr
' Speichern
oXMLFile.Save "h:\test.xml"
End Sub
Häufige Fehler und Lösungen
-
Fehler: "Benutzerdefinierter Typ nicht definiert"
- Lösung: Überprüfe, ob Du den richtigen Verweis auf
Microsoft XML
gesetzt hast. Gehe dazu in den Verweise-Bereich und stelle sicher, dass MSXML2.DOMDocument
oder DOMDocument60
ausgewählt ist.
-
Fehler: XML-Datei wird nicht erstellt
- Lösung: Stelle sicher, dass der Dateipfad korrekt ist und Du über die nötigen Schreibrechte verfügst. Teste auch, ob der Pfad tatsächlich existiert.
Alternative Methoden
Eine alternative Methode zur Arbeit mit XML in VBA ist die Verwendung von XMLHTTP
:
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP.6.0")
xmlhttp.Open "GET", "http://example.com/api", False
xmlhttp.send
Diese Methode kann nützlich sein, um Daten von einer externen XML-Quelle abzurufen.
Praktische Beispiele
Hier ist ein Beispiel, wie Du mit vba msxml2
Daten aus einer XML-Datei lesen kannst:
Dim oXMLFile As New MSXML2.DOMDocument60
oXMLFile.Load "h:\test.xml"
Dim oNode As IXMLDOMNode
Set oNode = oXMLFile.SelectSingleNode("//eintrag[@ID='15']")
MsgBox oNode.Text
In diesem Beispiel wird der Text des Eintrags mit der ID 15 aus der XML-Datei geladen und in einer MessageBox angezeigt.
Tipps für Profis
- Nutze den Objektkatalog im VBA-Editor, um schnell auf die verschiedenen XML-Objekte und deren Methoden zuzugreifen.
- Halte Deine XML-Dateien stets gut strukturiert und validiere sie, um Fehler bei der Verarbeitung zu vermeiden.
- Experimentiere mit den verschiedenen Versionen von MSXML, um herauszufinden, welche am besten zu Deinen Anforderungen passt.
FAQ: Häufige Fragen
1. Wie setze ich den Verweis auf Microsoft XML in Excel 2003?
Gehe zu Extras
> Verweise
im VBA-Editor und aktiviere MSXML5.DLL
.
2. Was ist der Unterschied zwischen DOMDocument und DOMDocument60?
DOMDocument
ist die allgemeine Bezeichnung, während DOMDocument60
spezifisch für die Version 6.0 des Microsoft XML Parsers ist. Achte darauf, welche Version Du benötigst.