Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenimport

Datenimport
02.10.2006 17:46:03
Claudia
Hallo Zusammen
Kann mir jemand sagen wie ich im unteren Code den Dateiname variabel setzen kann damit es mir die Daten aus sämtliche in diesem Ordner befindlichen Files importiert?
Vielen Dank und Grüessli Claudia
ActiveWorkbook.XmlImport URL:="C:\Temp\20061002-0000000437.xml", ImportMap _
:=Nothing, Overwrite:=True, Destination:=Range("$A$1")

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport
03.10.2006 10:46:41
Reinhard
Hi Claudia,
schau mal in die VBA-Hilfe zu FileSearch und Execute, zusammen mit nachfolgendem Code kann man das lösen, melde dich wenn du es nicht hinkriegst.
Sub tt()
For i = 1 To .FoundFiles.Count
ActiveWorkbook.XmlImport URL:=.FoundFiles(i), ImportMap _
:=Nothing, Overwrite:=True, Destination:=Cells(1, i)
Next i
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Datenimport
03.10.2006 11:43:02
Claudia
Sali Reinhard
Vielen Dank für Deine Hilfe aber ich glaube ich kriege das nicht ganz auf die Reihe. Ich habe nachgeschaut aber das bedeutet für mich alles Bahnhof. Auch mit Deinem Code komme ich irgendwie nicht weiter. Verstehe leider viel zu wenig davon. Kannst Du mir weiterhelfen?
Besten Dank für Deine Bemühungen
Grüessli Claudia
Anzeige
AW: Datenimport
03.10.2006 11:47:49
Claudia
Sali Reinhard
Vielen Dank für Deine Hilfe aber ich glaube ich kriege das nicht ganz auf die Reihe. Ich habe nachgeschaut aber das bedeutet für mich alles Bahnhof. Auch mit Deinem Code komme ich irgendwie nicht weiter. Verstehe leider viel zu wenig davon. Kannst Du mir weiterhelfen?
Besten Dank für Deine Bemühungen
Grüessli Claudia
AW: Datenimport
03.10.2006 11:59:36
Reinhard
Hi Claudia,
ungetestet mangels xml-Dateien :-)
Suchordner c:\test anpassen, wenn Code nicht in Untervrzeichnissen des Suchordners suchen soll so lösche die Zeile mit Searchsubfolders oder ersetze True durch False
Option Explicit
Sub tt()
Dim fs, i, spa
With Application.FileSearch
.LookIn = "c:\test"
.SearchSubFolders = True
.FileType = msoFileTypeAllFiles
.Execute
For i = 1 To .FoundFiles.Count
If Right(.FoundFiles(i), 4) = ".xml" Then
spa = spa + 1
ActiveWorkbook.XmlImport URL:=.FoundFiles(i), ImportMap _
:=Nothing, Overwrite:=True, Destination:=Cells(1, spa)
End If
Next i
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Datenimport
03.10.2006 12:07:59
Claudia
Sali Reinhard
Der Code hat mir die Daten des ersten Files importiert ist aber danach mit der folgender Fehlermeldung stehen geblieben:
Laufzeitfehler '1004'
Der Vorgang kann nicht ausgeführt werden, weil das Ergebnis eine existierende XML-Zuordnung überlappen würde.
Im Code hat er an folgenden Punkt angehalten:
ActiveWorkbook.XmlImport URL:=.FoundFiles(i), ImportMap _
:=Nothing, Overwrite:=True, Destination:=Cells(1, spa)
Gruess Claudia
AW: Datenimport
03.10.2006 12:25:39
Reinhard
Hi Claudia,
mein Code war für ne einspaltige xml-Datei gedacht. Wieviele Spalten haben denn deine xml-Dateien? Habe jetzt den Code auf 5 Sapltenbreite gesetzt. Nun hat man ja nur 256 Spalten, also passen nur ca. 50 5spaltige Dateien ein. Bei mehr oder breiteren Dateien muss man die in einzelne Tabellenblätter setzen oder untereinander, musst du entscheiden.
Solle s so bleiben. also die Dateien nebeneinander kannst du dir
spa=-4
und
spa = spa + 5
selbst auf die Spaltenbreite anpassen.
bei 6 Spalten
spa=-5
spa = spa + 6
bei 7 Spalten
spa=-6
spa = spa + 7
Option Explicit
Sub tt()
Dim fs, i, spa
With Application.FileSearch
.LookIn = "c:\test"
.SearchSubFolders = True
.FileType = msoFileTypeAllFiles
.Execute
spa=-4
For i = 1 To .FoundFiles.Count
If Right(.FoundFiles(i), 4) = ".xml" Then
spa = spa + 5
ActiveWorkbook.XmlImport URL:=.FoundFiles(i), ImportMap _
:=Nothing, Overwrite:=True, Destination:=Cells(1, spa)
End If
Next i
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Datenimport
03.10.2006 12:32:35
Claudia
Sali Reinhard
Es würde alles einwandfrei funktionieren aber ich sollte die Importtierten Daten nicht nebeneinender in der Zeile 1 haben sondern untereinander sprich eine Zeile pro importierte Datei. Die Dateien haben jeweils nur eine Zeile mit etwa 6 Felder.
Sorry ich habe mich wahrscheinlich zuwenig genau ausgedruckt.
Gruess Claudia
AW: Datenimport
03.10.2006 13:24:21
Reinhard
Hi Claudia,
Sub tt()
Dim fs, i, zei
With Application.FileSearch
.LookIn = "c:\test"
.SearchSubFolders = True
.FileType = msoFileTypeAllFiles
.Execute
For i = 1 To .FoundFiles.Count
If Right(.FoundFiles(i), 4) = ".xml" Then
zei = zei + 1
ActiveWorkbook.XmlImport URL:=.FoundFiles(i), ImportMap _
:=Nothing, Overwrite:=True, Destination:=Cells(zei, 1)
End If
Next i
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Datenimport
03.10.2006 13:54:35
Claudia
Sali Reinhard
Du bist der Grösste, vielen Dank es hat super funktioniert genau wie ich es brauche.
Bin froh dass es solche Spezialisten wie Dich hier gibt.
Vielen Dank und noch eine wunderschöne Woche
Gruess Claudia

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige