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
|