Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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

Alle Dateien in einem Verzeichnis bearbeiten

Alle Dateien in einem Verzeichnis bearbeiten
Alexander
Hallo zusammen,
ich möchte gerne mittels VBA ein Programm schreiben, dass alle .csv Dateien nacheinander im übergebenen Verzeichnis bearbeitet (Zeile für Zeile z.B. Datumsformat ändern). Was mir fehlt ist
1. alle Dateien verarbeiten bis alle verarbeitet sind
2. öffnen und zeilenweise einlesen der .csv Dateien, nach Bearbeitung schließen
Die Bearbeitung der einzelnen Datensätze (Zeilen) ist nicht das Problem.
Könnt ihr mir helfen?
Viele liebe Grüße
Alexander

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Alle Dateien in einem Verzeichnis bearbeiten
05.06.2012 13:55:26
marcl
Hallo Alexander,
Sub tst()
Dim datei As String
Dim pfad As String
pfad = "Dein Pfad\"
datei = Dir(pfad)
Do While datei  ""
Workbooks.Open Filename:=pfad & datei
Loop
End Sub

Gruß
marcl
AW: Alle Dateien in einem Verzeichnis bearbeiten
06.06.2012 08:36:51
Alexander
Hallo und danke für die Hilfe.
Wie man die Dateien auflistet, weiß ich jetzt. Ich will allerdings die Dateien nicht als Workbook öffnen, sondern ich müsste jede Zeile der Datei in eine Variable einlesen, verarbeiten, also Datum ändern usw. und danach in eine neue csv-Datei schreiben, ebenfalls zeilenweise. Idealerweise sollte keine der Dateien währenddessen auf dem Bildschirm erscheinen.
Kann mir da noch jemand weiterhelfen?
Anzeige
AW: Alle Dateien in einem Verzeichnis bearbeiten
06.06.2012 12:53:33
Rudi
Hallo,
sowas?
Sub CSV_aendern()
Dim sDatei As String
Dim sPfad As String
Dim i As Integer, vntCSV, vntTmp
sPfad = "n:\test\Dein Pfad\"
sDatei = Dir(sPfad & "*.csv")
Do While sDatei  ""
Open sPfad & sDatei For Input As #1
vntCSV = Split(Input(LOF(1), 1), vbCrLf) 'ganze CSV in Array
Close #1
For i = 1 To UBound(vntCSV) - 1
vntTmp = Split(vntCSV(i), ";") 'einzelne Zeile in Array
'mach was mit vntTmp oder auch nicht
vntCSV(i) = Join(vntTmp, ";") 'zurück in CSV
Next i
'geänderte Datei in neue Datei schreiben
Open sPfad & Left(sDatei, Len(sDatei) - 4) _
& Format(Now, "DDMMYYhhmmss") & ".csv" For Output As #1
Print #1, Join(vntCSV, vbCrLf)
Close #1
sDatei = Dir
Loop
End Sub

Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige