Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten-Import aus XML-Daten

Daten-Import aus XML-Daten
22.07.2021 12:33:37
Quaelgaeist
Hallo, unser ERP-Programm gibt Auftragsbestätigungen, Lieferscheine und Rechnungen als XML-Datensatz aus.
Bis jetzt hat ein Makro in einer Exceldatei diese XML-Datei ausgelesen und Daten importiert, dann weitere Makros aufgerufen. Das Schema (.xsd) wird aus dem WWW abgerufen, die passende URL dazu gibt das ERP Programm in der .XML mit.
Das hat funktioniert mit:

Sub Daten_holen()
' Daten_holen Makro
' Holt die Daten aus der von ERPPROGRAMM erstellten xml Datei passend zur in B1+C1 eingegebenen Auftragsnummer und überschreibt diese in Arbeitsblatt xml-Daten
Application.ScreenUpdating = False  'Damit Bildschirm erst nach Berechnung aller Zellen aktualisiert wird, verhindert Flimmern
For Each Worksheet In ThisWorkbook.Worksheets
Worksheet.Unprotect
Next Worksheet
'Dateinamenschema (ABNr), Pfad und Datei für Suche von xml-Dateien festlegen:
Dim Datei, Nr, Typ As String
Nr = Worksheets("Stab").[B1].Value & Worksheets("Stab").[C1].Value
Typ = Worksheets("Stab").[A1].Value & "_"
Const pfad = "\\SERVERNAME\ERP-ORDNER\xml-export\"
Datei = dir(pfad & Typ & Nr & "*.xml")
'xml in Arbeitsblatt xml-Daten (mit XmlMap "AB) importieren und weitere Module aufrufen
If Datei  "" Then
ThisWorkbook.XmlMaps("AB").Import URL:=pfad & Datei
Call Ankeranzahl_auslesen
Call Ankerbeschreibung_zerlegen
Call Skizze
Call Stkliste
Call Materialbedarf
Call Reset_Arbeitsvorgabe
Call Datei_ablegen
Else
MsgBox "xml-Datei nicht gefunden!"
End If
Worksheets("Stab").Activate
Application.ScreenUpdating = True   'Zurücksetzen der geänderten Einstellung bei Makroende
'For Each Worksheet In ThisWorkbook.Worksheets
'       Worksheet.Protect
'Next Worksheet
End Sub
ab dem Zeitpunkt einer Änderung der URL durch den Hersteller des ERP Programms in den XML-Exporten, gibt es in Excel für die neu ausgegebenen XML-Dateien die Fehlermeldung "Fehler bei der Schemaüberprüfung". Wen wunderts?
Ich habe in den Entwicklertools XML -> Quelle -> XML Zuordnungen eine aktuelle XML-Datei eingelesen um den Namespace hinzuzufügen und habe den Namen angepasst (AB).
Jetzt kommt in Zeile:

ThisWorkbook.XmlMaps("AB").Import URL:=pfad & Datei
die Fehlermeldung

Laufzeitfehler '1004':
Es wurden keine Daten importiert, weil keine Elemente zugeordnet wurden.
Range.XPath.SetValue kann verwendet werden, um die XML-Elemente des Arbeitsblattes zuzuordnen.
Ab hier stehe ich komplett an. Kann mir jemand weiterhelfen?
Vielen Dank
Quaelgaeist

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten-Import aus XML-Daten
23.07.2021 00:24:18
Yal
Hallo Quael,
hast Du vor, die ganze Verarbeitung innerhalb eines XML-Objekt vorzunehmen, oder ist es dein Ziel, so schnell wie möglich daraus eine Excel.Datei zu machen?
Dann würde ich jede Datei mit openxml öffnen
https://docs.microsoft.com/de-de/office/vba/api/excel.workbooks.openxml
und die Daten in gewohnten Excel-Form verarbeiten.
Ansonsten könntest Du mit Power Query versuchen.
VG
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige