Ich habs mit Application.GetOpenFilename() versucht, aber das will nicht so richtig. Das Dialogfenster öffnet sich, aber nach Auswahl der Datei bekomm ich einen Fehler. Kann mir jemand helfen?
Sub XmlImport()
Dim sXMLFileName As String
sXMLFileName = Dir(ThisWorkbook.Path & Application.PathSeparator & "*.xml")
'jede XML im selben Ordner wie diese XLSM einlesen und verarbeiten
While sXMLFileName ""
Call XmlZugriffViaXPathAufCollection(ThisWorkbook.Path & Application.PathSeparator & _
sXMLFileName)
sXMLFileName = Dir()
Wend
End Sub
Sub XmlZugriffViaXPathAufCollection(ByVal sXmlPfad As String)
Dim wks As Excel.Worksheet
Dim arr(9) As String
Dim xmlDoc As Object
Dim xmlNode As Object
Dim i As Byte
'LateBindeing Objektreferenz
Set xmlDoc = CreateObject(class:="MSXML2.DomDocument")
'Minimale Fehlerbehandlung
On Error GoTo FinishErr
'neues Arbeitsblatt für XML-Import benennen
Set wks = ThisWorkbook.Worksheets.Add
wks.Name = "ImportXML"
'XML parsen/laden
Call xmlDoc.Load(sXmlPfad)
xmlDoc.validateOnParse = True
xmlDoc.SetProperty "SelectionLanguage", "XPath"
'arrString für Node-Collection