Wie kann man bestimmte Dateien nacheinander öffnen und schließen?

rambkue

Grünschnabel
Hallo

Habe folgende Ausgangssituation:
Auf C: habe ich ein Verzeichnis, nennen wir es "Daten". In diesem Verzeichnis befinden sich ausschließlich ASCII-Dateien (bis ca. 500). In den ASCII-Dateien befinden sich Informationen wie z.B. Datum, Dateiname,etc. Dann gibt es noch ein Verzeichnis auf C:, das heißt "Auswertung". Darin befinden sich Excel-Dateien, die zur Auswertung der ASCII-Dateien gebraucht werden.
Nun habe ich ein Makro programmiert, welches die Anzahl der ASCII-Dateien im Verzeichnis "Daten" ermittelt (dieser Wert wird in der Variablen i abgespeichert). Desweiteren wird eine Arbeitsmappe geöffnet (Überblick.xls) und die Zelle A1 in dieser Mappe markiert. Das Makro wird von einer anderen Excel-Datei (Auswertung.xls) gestartet.

Function DZ(str) As Long
Dim DatNam As String
Dim n As Long
DatNam = Dir$(str & "\*.ASC")
Do While Len(DatNam) > 0
n = n + 1
DatNam = Dir$()
Loop
DZ = n
End Function

Sub Scan()
Dim i As Long
Dim Zelle As Range
Const Lw = "C:\"
Const Pfad1 = "C:\Auswertung"
Const Pfad2 = "C:\Daten"
Const Datei = "Auswertung.xls"

i = DZ(Pfad2)
MsgBox "Im Verzeichnis " & Pfad2 & " sind " & i & " Dateien"

ChDrive Lw
ChDir Pfad1
On Error Resume Next
Workbooks.Open Datei

Range("A1").Select

'ChDrive Lw ? Ist das richtig
'ChDir Pfad2
'For ......

End Sub

Ziel:
Jetzt soll im Verzeichnis "Daten" die erste ASCII-Datei geöffnet werden, bestimmte Zellen kopiert und in der Arbeitsmappe (Überblick.xls) eingefügt werden. Anschließend soll die ASCII-Datei wieder geschlossen werden und die nächste geöffnet werden....usw. bis zur 500. Datei. Die Arbeitsmappe (Überblick.xls) bleibt dabei ständig geöffnet und soll auch geöffnet bleiben, nachdem alle Informationen übertragen wurden.

Frage:
Wie kann man das realisieren? Geht doch bestimmt über eine Schleife oder? Kann mir jemand helfen? Ich weiß nicht so richtig, wie ich an der Stelle des Makros weiter machen soll.

Danke!

MfG Rambkü
 
Wenn deine ASCII Dateien in irgendeinerweise nummeriert sind....
(ich gehe jetzt einfach vom Dateinamen "ascii(nummer).txt" aust)

dim zz as long
dim pfad as freefile
pfad = app.path & "ascii"
For zz = 1 to i
open pfad & zz & ".txt" for input as #1
'***
'deine auswertung obs weitergeht oder nicht
'eintragungen in die Tabelle etc.
'***
close 1
next zz

Nun werden alle Dateien angefangen bei "ascii1.txt" bis "ascii(anzahl i).txt" nacheinander geöffnet - und zwischendurch halt deine abfragen bearbeitet.
 
Zurück