XML-Zugriff per VBA: Welche Version?

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

XML-Zugriff per VBA: Welche Version?

Beim Umgang mit XML-Dokumenten per VBA gibt es ein paar kleine Dinge, die Sie beachten müssen. Eines davon ist die Version der Bibliothek Microsoft XML, vx.0. In diesem Beitrag zeigen wir die für den Einsatz mit VBA relevanten Unterschiede auf. Dabei erfahren Sie, welche der beiden populärsten Versionen, nämlich die Version 3.0 und die Version 6.0, die für Ihren Anwendungszweck optimale Version ist.

XML-Bibliotheks-Versionen

Bei der Wahl des Verweises auf eine der verschiedenen Versionen der Bibliothek Microsoft XML, vx.0 gibt es verschiedene Ideen: Der eine nimmt die Version 3.0, weil er auf Altes vertraut und auf Nummer sicher gehen will, die Mindestvoraussetzungen zu erfüllen. Der andere wählt die Version 6.0, weil er gern die neuesten und umfangreichsten Bibliotheken nutzt (s. Bild 1). Die Versionen dazwischen werden recht selten genutzt, daher konzentrieren wir uns auf die beiden Versionen 3.0 und 6.0.

Hinzufügen des Verweises auf die XML-Bibliothek

Bild 1: Hinzufügen des Verweises auf die XML-Bibliothek

Wir wollen uns in diesem Beitrag auf die Unterschiede beschränken, welche die bei unserer täglichen Arbeit auftauchenden Elemente der beiden Bibliotheken betreffen. Da finden wir zunächst das DOMDocument-Objekt, also das Objekt, mit dem wir XML-Dokumente aus Dateien oder String-Variablen einlesen und auf diese zugreifen können.

Den wichtigsten Unterschied decken Sie bereits auf, wenn Sie einen Blick in die Objektkataloge der beiden Bibliotheken werfen. Nach dem Setzen eines Verweises auf die Bibliothek Microsoft XML, v3.0 finden Sie etwa die Objekte aus Bild 2 vor. Hier tauchen gleich drei DOMDocument-Elemente auf: DOMDocument, DOMDocument26 und DOMDocument30.

Objektkatalog mit der Bibliothek Microsoft XML, v3.0

Bild 2: Objektkatalog mit der Bibliothek Microsoft XML, v3.0

Ein Blick in die Bibliothek Microsoft XML, v6.0 liefert eine aufgeräumtere Ansicht: Hier finden Sie nur ein DOMDocument-Objekt vor, nämlich DOMDocument60 (s. Bild 3).

Der Objektkatalog mit der Bibliothek Microsoft XML, v3.0

Bild 3: Der Objektkatalog mit der Bibliothek Microsoft XML, v3.0

Sie können übrigens nur einen von beiden Verweisen in einem VBA-Projekt setzen: Wenn bereits die Version 3.0 referenziert ist und Sie fügen die Version 6.0 hinzu, erhalten Sie die Fehlermeldung aus Bild 4 – und umgekehrt. Mit der Version 4.0 gelingt dies auch nicht.

Fehler beim Setzen von Verweisen auf mehrere Microsoft XML-Bibliotheken

Bild 4: Fehler beim Setzen von Verweisen auf mehrere Microsoft XML-Bibliotheken

Einer der wichtisten Unterschiede zwischen den beiden Bibliotheken ist, dass die Klassen für die DOMDocument-Objekte auf keinen Fall gleich benannt sind und Sie dementsprechend, wenn Sie aus irgendwelchen Gründen etwa die Bibliothek Microsoft XML, v3.0 durch die Bibliothek Microsoft XML, v6.0 ersetzen, auf jedem Fall auch eine Menge Deklarationen und Zuweisungen ändern müssen.

Angekommen, Ihre zuvor mit Microsoft XML, v3.0, enthält folgenden Code:

Dim objDocument As MSXML2.DOMDocument
Set objDocument = New MSXML2.DOMDocument

Dann müssen Sie diesen unter der Version 6.0 wie folgt ändern:

Dim objDocument As MSXML2.DOMDocument60
Set objDocument = New MSXML2.DOMDocument60

Gegebenenfalls sind solche Anweisungen über das VBA-Projekt verstreut, sodass eine Menge Arbeit entsteht, die Sie aber natürlich per Suchen und Ersetzen-Funktion einfach erledigen können.

3.0 oder 6.0?

Sollten Sie nun die Version 3.0 oder 6.0 verwenden? Ein etwas älterer Blog-Beitrag eines Mitglieds des XML-Teams von Microsoft besagt, dass diese beiden Versionen zumindest gegenüber den Versionen 4.0 und 5.0 bevorzugt gepflegt werden. 3.0 wird gepflegt, weil es in sehr vielen älteren Anwendungen genutzt wird, 6.0, weil es die aktuellste Version ist. Den Blogbeitrag finden Sie hier:

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zahlenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Aktuell im Blog
Onlinebanking mit Access

Es ist geschafft: Endlich ist das Buch Onlinebanking mit Access fertiggeschrieben. Das war... [mehr]

Direktzugriff auf Tabellen und Felder

Die IntelliSense-Erweiterung für Tabellen und Felder hat mir soviel Spaß gemacht, dass ich gleich... [mehr]

IntelliSense für Tabellen und Felder

Wenn Sie mit dem VBA-Editor arbeiten und dort gelegentlich SQL-Anweisungen eingeben, müssen Sie... [mehr]

Download Access und SQL Server

Erfahren Sie, welche Schritte zum Download des aktuellen Stands des Buchs "Access und SQL Server"... [mehr]

Bilder in Access 2013

Wer die Bibliothek mdlOGL0710 von Sascha Trowitzsch oder ein ähnliches Modul aus meinen... [mehr]

Dynamische Ribbons

Immer wieder fragen Leser, wie man Ribbon-Elemente wie etwa Schaltflächen in Abhängigkeit... [mehr]

Die Blogmaschine

Einen kleinen Blog zusätzlich zum Shop zu betreiben ist eine tolle Sache. Hier lassen sich... [mehr]

Wegwerfadressen für die Newsletteranmeldung

Die Verwendung von Wegwerf-Adressen für die Nutzung aller möglichen Online-Dienste nimmt... [mehr]

Access und Facebook

Facebook und Access - das ist eine der wenigen Kombinationen, die ich noch nicht in die Mangel... [mehr]

Access und SQL Server - das Projekt

Mein neues Buch Access und SQL Server (gemeinsam mit Bernd Jungbluth) geht in die Endphase. Wer... [mehr]