Mehrer Excel Dateien nach Access importieren

Hallo und schönen Tach auch,

ich möchte gerne in Access 2000 mehrere Excel 2000-Dateien (also komplette *.XLS, nicht nur Tabellenblätter) importieren.

Die Struktur dieser XLS ist identisch, sie unterscheiden sich nur durch den Dateinamen, z. B. 145723.xls, 133524.xls usw. und bestehen aus nur einem Tabellenblatt.

Leider komme ich mit einfachen TransferSpreadsheet hier nicht weiter, weil die Anzahl der Dateien variiert und auch das Verzeichnis nicht immer gleich ist.

Deshalb bräuchte ich noch einen FileDialog, aus dem ich mehrere XLS-Dateien gleichzeitig auswählen kann.

Dafür gibt es sicher eine VBA-Lösung, die sich aber bis jetzt mit Erfolg vor mir versteckt hat.

Kann mir jemand aus diesem Forum helfen?

Ich bedanke mich jetzt schon für Eure Tipps …

gruß
moritzbock

Hallo Moritzbock,

Dafür gibt es sicher eine VBA-Lösung, die sich aber bis jetzt
mit Erfolg vor mir versteckt hat.

nutze die schlichte und einfache DIR - Funktion.

Grüße aus Essen
Wolfgang

Hallo,

tja, genau sowas habe ich die Tage noch zum x-ten Mal in ein Programm eingebaut:

=========================================
Dim fd As New FileDialog
Dim fs As Object
Dim bckupFolder As Object
Dim fl As Object

’ Dialogtitel kann man setzen
fd.DialogTitle = „Open Importfiles“
’ fd.hWnd = Me.hWnd ’ nur beutzen wenn aus Formular gestartet
fd.ShowFolder
If fd.fileName = „“ Then
'Me!txtFolder = „(nothing selected)“
Exit function
endif

Set fs = CreateObject(„Scripting.FileSystemObject“)
Set bckupFolder = fs.GetFolder(selDir)
For Each fl In bckupFolder.Files
’ in fl.Path steht der Dateiname mit Pfad
’ walk through files in selected folder
’ do what ever you want with these files
DoEvents
Next fl

================================================
bzgl. EXCEL:
als denkanstoss

Dim ExcelApp As Object
Dim NewMap As Object

Set ExcelApp = CreateObject(„excel.application“)
ExcelApp.Visible = True
Set NewMap = ExcelApp.Workbooks.Open(filename)

dann kann man mittels
ExcelApp.Workbooks bzw.
ExcelApp.Worksheets
ueber die einzelnen Elemente interieren

Hope this helps
Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Peter,

danke für Deine Hilfe …

Hallo,

tja, genau sowas habe ich die Tage noch zum x-ten Mal in ein
Programm eingebaut:

=========================================
Dim fd As New FileDialog
Dim fs As Object
Dim bckupFolder As Object
Dim fl As Object

’ Dialogtitel kann man setzen
fd.DialogTitle = „Open Importfiles“
’ fd.hWnd = Me.hWnd ’ nur beutzen wenn aus Formular
gestartet
fd.ShowFolder
If fd.fileName = „“ Then
'Me!txtFolder = „(nothing selected)“
Exit function
endif

Set fs = CreateObject(„Scripting.FileSystemObject“)
Set bckupFolder = fs.GetFolder(selDir)
For Each fl In bckupFolder.Files
’ in fl.Path steht der Dateiname mit Pfad
’ walk through files in selected folder
’ do what ever you want with these files
DoEvents
Next fl

================================================
bzgl. EXCEL:
als denkanstoss

Dim ExcelApp As Object
Dim NewMap As Object

Set ExcelApp = CreateObject(„excel.application“)
ExcelApp.Visible = True
Set NewMap = ExcelApp.Workbooks.Open(filename)

dann kann man mittels
ExcelApp.Workbooks bzw.
ExcelApp.Worksheets
ueber die einzelnen Elemente interieren

Hope this helps

Genau das hat geholfen

Danke :wink:

Tschau
Peter

gruß
moritzbock

Hallo und schönen Tach auch,

ich möchte gerne in Access 2000 mehrere Excel 2000-Dateien
(also komplette *.XLS, nicht nur Tabellenblätter) importieren.

Die Struktur dieser XLS ist identisch, sie unterscheiden sich
nur durch den Dateinamen, z. B. 145723.xls, 133524.xls usw.
und bestehen aus nur einem Tabellenblatt.

Leider komme ich mit einfachen TransferSpreadsheet hier nicht
weiter, weil die Anzahl der Dateien variiert und auch das
Verzeichnis nicht immer gleich ist.

Deshalb bräuchte ich noch einen FileDialog, aus dem ich
mehrere XLS-Dateien gleichzeitig auswählen kann.

Dafür gibt es sicher eine VBA-Lösung, die sich aber bis jetzt
mit Erfolg vor mir versteckt hat.

Kann mir jemand aus diesem Forum helfen?

Ich bedanke mich jetzt schon für Eure Tipps …

gruß
moritzbock