Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1760to1764
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

Datei öffnen

Datei öffnen
26.05.2020 12:48:17
Markus
Ich habe ein kleines Problem und komme nicht weiter. Ich habe einen VBA-Code (siehe Code-Schnipsel), der prinzipiell auch macht was ich will. Er öffnet eine XML-Datei, die im gleichen Verzeichnis liegt als meine Excel-Datei und liest diese ein. Ich wollte den Code ändern, sodass sich ein Dialogfenster öffnet, über das man die zu öffnende Datei auswählen muss.
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen
26.05.2020 14:45:15
peterk
Hallo
Sollte so funktionieren

Sub XmlImportFileDialog()
Dim objFileDialog As FileDialog
Dim SItem As Variant
Set objFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With objFileDialog
.Filters.Clear
.Filters.Add "XML", "*.xml", 1
If .Show = -1 Then
For Each SItem In .SelectedItems
Call XmlZugriffViaXPathAufCollection(SItem)
Next SItem
End If
End With
Set objFileDialog = Nothing
End Sub

AW: Datei öffnen
27.05.2020 09:29:15
Markus
Perfekt. Ich danke Dir! Klappt wunderbar!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige