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]