Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatischer XML-Export

Forumthread: Automatischer XML-Export

Automatischer XML-Export
29.04.2013 18:33:42
Martin
Hallo,
ich würde gerne eine XML automatisch exportieren. Dazu habe ich ein Makro aufgezeichnet:
Sub testexp()
' testexp Makro
Sheets("offene Bestellungen-sort").Select
Range("E22").Select
ActiveWorkbook.XmlMaps("AktiveBestellungen_Zuordnung").Export URL:= _
"X:\1-14-Bestellungen\AktiveBestellungen.xml"
End Sub
Leider erfolgt beim Abspielen dann der Fehler:
excel laufzeitfehler '-2147467259 (80004005)': die methode 'export' für das Objekt 'XmlMap' ist fehlgeschlagen
Kann mir bitte jemand erklären, wo der Fehler liegt?
Vielen Dank im Voraus,
Martin

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatischer XML-Export
30.04.2013 17:45:40
Martin
Hat niemand eine Idee?
Liegt es vielleicht an der "Export URL"? Muss man Pfad und Datei extra mit Variablen umschreiben und dann als String wieder zusammensetzen?

AW: Automatischer XML-Export
03.05.2013 15:07:58
Luschi
Hallo Martin,
hier mal eine Inet-Seite von M$. Sie ist zwar für den Import ausgelegt, gilt aber hinsichtlich des Exports in eine XML-Datei genauso. Der Schlüssel dabei ist die XSD-Datei, die das Maspping übernimmt.
http://msdn.microsoft.com/de-de/library/gg469857.aspx
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Automatischer XML-Export
06.05.2013 17:15:11
Martin
Vielen Dank Luschi,
im Artikel steht allerdings beschrieben, wie man per VBA ein XSD Schema erstellt.
Das habe ich schon getan.
Ich würde jetzt gerne einfach nur ein Makro erstellen, welches mir ermöglicht vor dem Speichern der Excel-Datei automatisch unter Anwendung des XML Schemas die XML-Datei in einen festgelegten Ordner zu schreiben.
"Ohne Automatisierung" geht dies ja in Excel ganz einfach. Man geht in das gewünschte Blatt und klickt in das Menü Entwicklertools. Dann kann im Bereich XML auf exportieren klicken und der Speicher-Dialog öffnet sich. Man wählt den gewünschten Ordner an (Excel merkt sich leider nicht den zuletzt gewählten) und speichrt die XML-Datei.
Genau dieses Vorgehen habe ich ja auch als Makro aufzeichnen lassen aber leider scheitert es dann beim Abspielen.
Ich habe mal eine Test-Datei mit verknüpftem XSD-Schema erstellt und das Makro aufzeichen lassen:
https://www.herber.de/bbs/user/85212.zip
Beste Grüße,
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatischer XML-Export in Excel


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle als XML zu exportieren, kannst Du ein einfaches Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und lade die Tabelle, die Du exportieren möchtest.

  2. Aktiviere die Entwicklertools, falls noch nicht geschehen:

    • Gehe zu Datei > Optionen > Menüband anpassen.
    • Aktiviere das Kontrollkästchen für Entwicklertools.
  3. Aufzeichnen eines Makros:

    • Klicke auf Entwicklertools > Makro aufzeichnen.
    • Führe die Schritte aus, um die XML-Datei zu exportieren:
      • Gehe zu Entwicklertools > XML > Exportieren.
      • Wähle den gewünschten Speicherort und Dateinamen aus.
    • Beende die Aufzeichnung des Makros.
  4. VBA-Code anpassen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Suche Dein Makro in Module.
    • Du kannst nun den Code anpassen, um die Export-URL zu ändern:
      Sub testexp()
       Sheets("offene Bestellungen-sort").Select
       ActiveWorkbook.XmlMaps("AktiveBestellungen_Zuordnung").Export URL:="X:\1-14-Bestellungen\AktiveBestellungen.xml"
      End Sub
  5. Makro ausführen und die XML-Datei wird im angegebenen Ordner gespeichert.


Häufige Fehler und Lösungen

  • Laufzeitfehler '-2147467259 (80004005)': Dieser Fehler tritt häufig auf, wenn die Export-URL nicht korrekt ist. Stelle sicher, dass der Pfad existiert und die XML-Mapping-Datei korrekt zugeordnet ist.

  • XML-Map nicht gefunden: Überprüfe, ob das XML-Schema (XSD-Datei) korrekt verknüpft ist. Du kannst dies unter Entwicklertools > XML > XML-Maps nachsehen.


Alternative Methoden

Eine Möglichkeit, Excel zu XML zu exportieren, ohne ein Makro zu verwenden, ist:

  1. Direktes Speichern als XML:

    • Gehe zu Datei > Speichern unter.
    • Wähle im Dropdown-Menü für den Dateityp XML-Daten (*.xml).
    • Dies funktioniert jedoch nur, wenn die Daten im richtigen Format vorliegen und ein XML-Schema vorhanden ist.
  2. VBA zur Automatisierung:

    • Du kannst auch eine VBA-Funktion schreiben, um die XML-Datei automatisch zu erstellen, anstatt das Makro manuell auszuführen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du eine XML-Datei aus einer Excel-Tabelle erstellen kannst:

Sub ExportToXML()
    Dim xmlFilePath As String
    xmlFilePath = "C:\DeinPfad\export.xml"

    Sheets("DeinBlatt").Select
    ActiveWorkbook.XmlMaps("DeinXMLMapping").Export URL:=xmlFilePath
End Sub

Achte darauf, dass Du den richtigen Pfad und das passende XML-Mapping verwendest.


Tipps für Profis

  • XSD-Dateien verwenden: Stelle sicher, dass Du ein XSD-Schema verwendest, das die Struktur Deiner Daten definiert. Dies verbessert die Integrität Deiner XML-Datei.

  • Makros testen: Teste Dein Makro in einer Testumgebung, um Fehler zu vermeiden, bevor Du es in der Produktion verwendest.

  • Automatisierung: Du kannst das Makro so einstellen, dass es beim Öffnen oder Schließen der Datei automatisch ausgeführt wird.


FAQ: Häufige Fragen

1. Kann ich mehrere Blätter in einer XML-Datei exportieren?
Nein, Excel unterstützt nur den Export eines Blattes pro XML-Datei. Du müsstest für jedes Blatt ein separates Makro oder eine separate Exportfunktion verwenden.

2. Wie kann ich sicherstellen, dass die XML-Datei korrekt formatiert ist?
Verwende ein XML-Validierungswerkzeug, um sicherzustellen, dass die Struktur Deiner XML-Datei dem XSD-Schema entspricht.

3. Was ist der Unterschied zwischen XML und XSD?
XML ist das Datenformat, während XSD das Schema ist, das die Struktur und die Regeln für die XML-Daten definiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige