Thema Datum  Von Nutzer Rating
Antwort
Rot Daten aus eine XML datei auslesen und in excel importieren
10.08.2022 08:27:23 Sven
Solved
10.08.2022 13:48:07 Gast78631
NotSolved

Ansicht des Beitrags:
Von:
Sven
Datum:
10.08.2022 08:27:23
Views:
747
Rating: Antwort:
 Nein
Thema:
Daten aus eine XML datei auslesen und in excel importieren

Hallo liebe Forumsmitglieder.

Ich habe ein Problem und ich hoffe ihr könnt mir helfen. 

Ich bin ein absoluter Neuling.

Ich möchte aus verschiedenen xml Konfigurationsdateien Parameter auslesen und in Excel speichern.

Dazu wolte ich ein Button anlegen der es ermöglich die relevante xml Datei auszuwählen und dann die Daten zu importieren.

Das ist schon mal gescheitert und wenn ich aus Macro ausführen klicke passiert auch nichts.

Wohlbemerkt VBA ist für mich noch ein Buch mit 8 Siegeln.

 

Dazu habe ich folgendes mit Hilfe und recherche erstellt, aber irgentwo hängt es.

Sub Start()

Dim xml As MSXML2.DOMDocument60
Dim xmlnode As MSXML2.IXMLDOMNode
Dim strWurzel As String
Dim intCounter As Integer, intCounter2 As Integer
If Dir(ActiveWorkbook.Path & "\" & Tabelle1.Range("XML_File_Name").Value) = "" Then
MsgBox "Die XML-Datei ist nicht vorhanden , bitte in den Ordner kopieren!", vbCritical, "Achtung .. . """

Exit Sub
Else

Set xml = New MSXML2.DOMDocument60
xml.Load ActiveWorkbook.Path & "\" & Tabellel.Range("XML_File_Name").Value

' Anzeige Wurze l elemente '
Set xmlnode = xml.DocumentElement1 = xml.DocumentElement.Chi1dNodes.Length
For intCounter = 0 To xml.DocumentElement.Chi1dNodes.Length - 1
Debug.Print xml.Knoten.ChildNodes(intCounter).nodeName & vbCr & xmlnode.ChildNodes(intCounter).Text
Next
intCounter = 0

' Zugriff auf Attribute falls vorhanden '
For intCounter = 0 To xml.DocumentElement.Chi1dNodes.Length(intCounter) - 1
Set xmlKD = xml.DocumentElement.Chi1dNodes.Length(intCounter)
For intCounter2 = O To xmlKD.Attributes.Length - 1
Tabellel.Range("B4").Offset(intCounter2, 0).Value = xml.DocumentElement.Chi1dNodes.Length(intCounter).nodeName
Tabellel.Range("B4").Offset(intCounter2, l).Value = xml.DocumentElement.Chi1dNodes.Length(intCounter).Attributes(intCounter2).nodeName
Tabellel.Range("B4").Offset(intCounter2, 2).Value = xml.DocumentElement.Chi1dNodes.Length(intCounter).Attributes(intCounter2).Text

MsgBox xml.DocumentElement. _
Chi1dNodes.Length(intCounter).nodeName _
& " hat Attribut: " & vbCr & _
xml.DocumentElement.ChildNodes(intCounter). _
Attributes(intCounter2).nodeName & " / " & _
xml.DocumentElement.Chi1dNodes.Length(intCounter). _
Attributes(intCounter2).Text
Next intCounter2
Next intCounter
End If
End Sub

Die Excel ist aufgebaut

mit Nodename,Element und Attribute also sollte wie folgt das so aussehen

Nodename          Element        Attribute

DocumentTitles  UseAttribute  False

die xmls ist folgendermaßen aufgebaut.

es gibt innerhalb der xml verschiedene sections und darunter dann die Werte.

 

    <DocumentTitles
      UseAttribute="false"
      ChangeTitleOnReplace="true"
      ChangeFilenameOnReplace="true" />

Ich rahmen von Problemsuche habe ich dann gedacht vielleicht liegt es an der Sprache daher sind die Begriffe leider gemischet (English/Deutsch)

 

Dazu hätte ich noch Fragen.

1. Kann ich mehrere Excel Seiten/Tabs haben, indie ich unterschiedliche XMLs einlesen kann

2. Ich würde auch gerne ini dateien auslesen. wie bekomme ich das hin. eine ini Datei würde von Aufbau so aussehen.

[DocumentTypeCheck]
Enabled = true

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Daten aus eine XML datei auslesen und in excel importieren
10.08.2022 08:27:23 Sven
Solved
10.08.2022 13:48:07 Gast78631
NotSolved