Daten-Import aus XML-Daten
22.07.2021 12:33:37
Quaelgaeist
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