Anzeige
Archiv - Navigation
1540to1544
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

XML nach Excel

XML nach Excel
16.02.2017 19:24:51
chris58
Hallo Experten !
Ich würde einen VBA Code brauchen, der mir XML Dateien in Excel exportiert und dort auch dauerhaft speichert. Ich bekommen jeden Tag so um die 50 XML-Dateien und muß Daten in eine Excel Liste eintragen (Name, Adresse, PLZ..............usw. lt. Liste).
Diese XML Dateien haben eine fortlaufende Nummer (z.B. 701701050216 usw.).
Es sollte möglich sein, das ganze auf einen Rutsch zu machen. Die XML-Dateien liegen in einem Ordner der auch andere Dateien (jedoch keine XML-Dateien) enthält. Diese Daten werden dann täglich nach dem Eintrag in die Excel Datei gelöscht, sodaß am nächsten Tag wieder neue aufscheinen.......fortlaufende Nummer.
Ich habe gesucht, kenn mich wenig aus, der Code den ich gefunden habe übersteigt alles was ich bisher gehört, gelesen habe.
Ich ersuche daher um Hilfe
Danke chris
https://www.herber.de/bbs/user/111534.zip

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XML nach Excel
17.02.2017 07:54:29
baschti007
Hey Chris
du könntest es so machen
Gruß Basti
Option Explicit
Public Sub import()
Dim Datei
Dim FSO
Dim i As Variant
Dim Str_String As String
Dim file As Variant
Dim MeinOrdner As String
Dim r As Long, s As Long
Dim Namensausgabe As String
Namensausgabe = "name,address,zip,city,country,date_from,date_to,number_of_pages,album_format, _
title"
r = 2
MeinOrdner = "c:\Test\" ' Anpassen  "")
If Not file Like "*.xml" Then
GoTo NaechsteDatei
End If
Set Datei = FSO.OpentextFile(MeinOrdner & file)
Str_String = Datei.readall
Datei.Close
For Each i In Split(Namensausgabe, ",")
s = s + 1
Select Case i
Case "title"
Sheets("Tabelle1").Cells(r, s) = Split(Split(Str_String, "")(2), "" & i & ">")(0)
Case Else
Sheets("Tabelle1").Cells(r, s) = Split(Split(Str_String, "")(1), "" & i & ">")(0)
End Select
Next
s = 0
r = r + 1
NaechsteDatei:
file = Dir
Wend
End Sub

Anzeige
AW: XML nach Excel
17.02.2017 10:17:30
chris58
Hallo Basti !
Schaut schon mal ganz gut aus, jedoch kommt der Laufzeitfehler "g" und die zeile:
Sheets("Tabelle1").Cells(r, s) = Split(Split(Str_String, "")(1), "")(0)
ist gelb hinterlegt.
Der Code bringt alle Daten des Headers in jedes Zelle.....
Danke erstmals
Chris
AW: XML nach Excel
17.02.2017 10:23:00
chris58
Vergessen habe:
Wenn es mehrere .xml Dateien sind, werden die überschrieben und immer nur in Zeile 2 die Daten hineingeschrieben. Es sollte in die nächste freie Zeile geschrieben werden.
chris
AW: XML nach Excel
17.02.2017 12:01:36
baschti007
In einer XML sind aber auch nur Daten von einer Person oder ?
Ich hab die XML kopiert und in einen Ordner gepackt und er ließt diese richtig aus und schreib die werte untereinander.
https://www.herber.de/bbs/user/111548.xls
Gruß Basti
Anzeige
AW: XML nach Excel
17.02.2017 12:06:45
baschti007
Und beim Laufzeitfehler musst du mal gucken welche Datei er gerade ausließt wenn da die Struktur anders ist kann das sein .
Gruß BAsti
AW: XML nach Excel
17.02.2017 12:51:42
chris58
Hallo Basti !
Danke, das geht wunderbar. Genauso, wie ich es mir vorstelle.
Danke nochmals.......ich habe die Datei, die in Deinem Beitrag vorhanden ist, runtergeladen........die ist perfekt.
chris
AW: XML nach Excel
17.02.2017 14:29:24
chris58
Gelöst - danke
chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige