VBA XML

 VBA XML

 VBA XML

Excel VBA XML

Die vollständige Form von XML ist eXtensible Markup Language, die ähnlich wie eine HTML-Datei ist, ist entworfen, um die Daten aus verschiedenen Programmen zu speichern und zu transportieren. XML-Datei speichert die Daten, die die Splits und Separatoren enthält. Wir können einen VBA-Code erstellen, mit dem wir die Daten aus der XML-Datei in Excel importieren können. Um die Daten aus der XML-Datei in ein anderes Format zu importieren, müssen wir einige Regeln festlegen, die angeben, welche Art von Daten und Feldern in der XML-Datei verwendet werden können. Um in VBA ein Makro für die XML-Datei zu erstellen, benötigen wir nicht unbedingt XML Notepad in unserem System. Aber wenn wir es haben, wird es uns leicht fallen, die XML-Datei für die Daten zu lesen, die wir brauchen.

Obwohl wir in Excel die Möglichkeit haben, die Daten der XML-Datei zu importieren, können wir mit VBA die XML-Datei in Excel lesen und importieren.

Sehen Sie sich unsere Demokurse und Videos an

Bewertung, Hadoop, Excel, Mobile Apps, Webentwicklung & viele mehr.

Knotentypen in VBA XML

In XML haben wir eine Vielzahl von Knoten, die konstruktiv beim Lesen und Parsen der XML-Datei in andere Quellen wie Word oder Excel helfen. Jedes documentElement bezieht sich auf einige der folgenden Knotenlisten.

  • Übergeordneter Knoten
  • Erstes Kind
  • Letztes Kind
  • Untergeordnete Knoten
  • Nächstes Geschwister
  • Vorheriges Geschwister

Alle oben genannten Knoten bestätigen den Typ als , wobei nur untergeordnete Knoten die array-Typ von .

In diesem Beispiel sehen wir einen sehr einfachen VBA-Code, um auf die XML-Datei zuzugreifen, die an einem beliebigen Speicherort des einzelnen Systems gespeichert ist, und sie in VBA zu laden. Normalerweise haben wir MSXML2, um XML-Dateien mit VBA in Excel zu importieren.DOMDocument-Objekt, damit wir die Daten durch XML-Struktur quer. Dies darf in diesem Beispiel jedoch nicht verwendet werden.

Dazu benötigen wir eine XML-Datei, in der wir eine Datenstruktur in Form eines Schemas erstellen können. Unten sehen Sie den Screenshot des Unternehmensschemas, unter dem wir einen Mitarbeiterzweig mit den Mitarbeiterdetails wie Vorname, Nachname, Kontaktnummer und E-Mail-ID haben.

 VBA-XML-Code

 VBA-XML-Code

 VBA XML-Baum

 VBA-XML-Baum

Schritte zum Importieren von & Hinzufügen von XML in Excel VBA

Nachfolgend finden Sie Beispiele für XML in Excel mithilfe des VBA-Codes.

Sie können diese VBA XML Excel-Vorlage hier herunterladen – VBA XML Excel-Vorlage

Beispiel #1

Schritt 1: Gehen Sie zuerst zur Registerkarte Menü einfügen in VBA und öffnen Sie ein Modul, in das wir den Code und die Daten über XML schreiben, wie unten gezeigt.

Modul einfügen

 Modul einfügen

Schritt 2: Schreiben Sie das Unterverfahren in den Namen VBA XML für die Definition des Codes.

Artikelnummer:

Sub VBA_XML()End Sub

 VBA XML Beispiel 1-2

 VBA XML Beispiel 1-2

Schritt 3: Wie bereits erwähnt, benötigen wir für die XML-Datei Object . Definieren Sie nun eine Variable mit DIM als String, die zum Speichern des Dateinamens verwendet wird.

Artikelnummer:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

 VBA XML Beispiel 1-3

 VBA XML Beispiel 1-3

Schritt 4: Jetzt verwenden wir eine Anwendung Display Alerts, die zum Anzeigen der Warnmeldung verwendet wird, wenn der gewählte Pfad falsch ist.

Artikelnummer:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub

 VBA XML Beispiel 1-4

 VBA XML Beispiel 1-4

Schritt 5: Jetzt setzen wir den Link oder den Ort, an dem wir die XML-Datei gespeichert haben, und weisen sie der definierten Variablen zu.

Artikelnummer:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

 VBA XML Beispiel 1-5

 VBA XML Beispiel 1-5
Hinweis: Bewahren Sie die XML-Datei an einem leicht zugänglichen Speicherort auf.

Schritt 6: Wie bereits erwähnt, erhalten wir das erste Objekt mit MSXML2.DOMDoucment.

Artikelnummer:

Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub

 VBA XML Beispiel 1-6

 VBA XML Beispiel 1-6

Schritt 7: Um die Daten der XML-Datei in Excel zu laden, müssen wir diese XML-Datei öffnen, indem wir den Namen und den Speicherort verwenden, den wir in der XML-Dateivariablen gespeichert haben, und die Ladeoption als Import in die Liste auswählen, wie unten gezeigt.

Artikelnummer:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub

 VBA XML Beispiel 1-7

 VBA XML Beispiel 1-7

Schritt 8: Verwenden Sie schließlich erneut die Anwendungsoption, um die Warnung als WAHR anzuzeigen, falls vorhanden.

Artikelnummer:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub

 VBA XML Beispiel 1-8

 VBA XML Beispiel 1-8

Schritt 9: Jetzt kompilieren wir den geschriebenen Code durch Drücken der Funktionstaste F8 und führen ihn aus, wenn während der Kompilierung kein Fehler gefunden wird.

Wir werden sehen, dass die in der XML-Datei gespeicherten Daten nicht wie unten gezeigt in eine neue Arbeitsmappe importiert werden. Mit diesem einfachen VBA-Code können wir beliebige Datenlängen einer XML-Datei in Excel abrufen.

VBA-XML-Beispiel 1-8

 VBA XML Beispiel 1-8

Beispiel # 2

Es gibt eine andere Möglichkeit, die Daten einer XML-Datei mit dem VBA-Code zu importieren, der ebenfalls einfach ist. Dazu können wir ein anderes Modul haben, in dem wir die Änderungen auch im selben Modul vornehmen können.

Schritt 1: Dafür würden wir wieder ein Modul benötigen und dort das Unterverfahren im Namen von VBA XML schreiben.

Artikelnummer:

Sub VBA_XML2()End Sub

 VBA XML Beispiel 2-1

 VBA XML Beispiel 2-1

Schritt 2: Definieren Sie eine Variable als Zeichenfolge, in der der Speicherort der Datei und eine weitere Variable für die Arbeitsmappe wie unten gezeigt gespeichert werden.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub

 VBA XML Beispiel 2-2

 VBA XML Beispiel 2-2

Schritt 3: Ähnlich wie im vorherigen Beispiel verwenden wir jetzt 2 Anwendungen, eine für die Bildschirmaktualisierung und eine andere für die Anzeige von Warnungen als FALSCH.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub

 VBA XML Beispiel 2-3

 VBA XML Beispiel 2-3

Schritt 4: In der definierten Variablen XMLFile weisen wir nun den Pfad der XML-Datei zu.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

 Definierte Variable Beispiel 2-4

 Definierte Variable Beispiel 2-4

Schritt 5: Ähnlich wie in Beispiel 1 aktualisieren wir nun den Code zum Öffnen der XML-Datei mit dem in der Variablen XMLFile definierten Pfad und laden den Datenimport in die Liste.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)End Sub

 VBA XML Beispiel 2-5

 VBA XML Beispiel 2-5

Schritt 6: Jetzt wieder, um die Display Alert-Anwendung als WAHR zu setzen.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueEnd Sub

 Anwendungsbeispiel für Display Alert 2-6

 Anwendungsbeispiel für Display Alert 2-6

Schritt 7: Sobald die Daten importiert sind, kopieren wir diese aus der ausgewählten Zelle A1: D1 in eine andere Arbeitsmappe gemäß der Anzahl der in der XML-Datei verfügbaren Header.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")End Sub

 Arbeitsmappe Beispiel 2-7

 Arbeitsmappe Beispiel 2-7

Schritt 8: Schließen Sie den Code schließlich mit der Bildschirmaktualisierungsanwendung als WAHR.

Artikelnummer:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")Application.ScreenUpdating = TrueEnd Sub

 Anwendungsbeispiel für die Bildschirmaktualisierung 2-8

 Anwendungsbeispiel für die Bildschirmaktualisierung 2-8

Schritt 9: Wenn wir nun diesen Code ausführen, werden die Daten aus der XML-Datei wie unten gezeigt in eine neue Excel-Arbeitsmappe importiert.

VBA-XML-Beispiel 2-9

 VBA XML Beispiel 2-9

Vorteile von VBA XML

  • Auch wenn Sie nicht wissen, wie Sie eine XML-Datei erstellen und daran arbeiten, können wir mit solchen VBA-Codes die Daten in VBA-Code oder in Excel extrahieren.
  • Mithilfe von Knotenreferenzen können wir einen Teil der XML-Daten oder vollständige Daten in das VBA-Fenster analysieren.

Dinge zu beachten

  • Jede Knotenreferenz hat ihren eigenen Wert und ihre eigene Bedeutung. Die Verwendung des richtigen Notentyps ist für jede Bedingung sehr wichtig.
  • XML to VBA ist nicht auf den Code beschränkt, den wir in den obigen Beispielen gesehen haben.
  • Wir können jede Art von Daten mit dem Code extrahieren, den wir in den oben diskutierten Beispielen gesehen haben. Behalten Sie jedoch den richtigen Ort und Pfad bei, der leicht zugänglich ist.
  • Wir können die XML-Dateidaten auch extrahieren, ohne sie über die Quelloption der Registerkarte Entwickler zu öffnen. Dies hilft uns, die Daten so zu erhalten, wie sie in der Excel-Arbeitsmappe sind.
  • Speichern Sie die geschriebene Code-Excel-Datei im makrofähigen Excel-Format, um den Verlust des Codes zu vermeiden.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA XML. Hier besprechen wir Schritte zum Importieren von & Fügen Sie XML in Excel VBA und seine verschiedenen Knotentypen zusammen mit praktischen Beispielen und herunterladbaren Excel-Vorlagen hinzu. Sie können auch unsere anderen vorgeschlagenen Artikel durchgehen –

  1. VBA LBound
  2. VBA Zellenwert abrufen
  3. VBA IsError
  4. VBA-Solver
0 Anteile

Leave a Reply