Zeilenumbrüche in mehreren Dateien eines Ordners entfernen
Hallo liebe Admins,
habe folgenden Code welcher ganz gut funktioniert und alle Zeilenumbrüche EINER bestimmten Datei entfernt.
Jetzt ist aber die große Frage wie man das so löst, dass alle Dateien eines bestimmten Ordners mit einem bestimmten Dateinamens-Anfang zB. TEST* damit ausgestattet werden ohne dass sich der Dateiname dabei ändert.
Viele Grüße
Robs
habe folgenden Code welcher ganz gut funktioniert und alle Zeilenumbrüche EINER bestimmten Datei entfernt.
Jetzt ist aber die große Frage wie man das so löst, dass alle Dateien eines bestimmten Ordners mit einem bestimmten Dateinamens-Anfang zB. TEST* damit ausgestattet werden ohne dass sich der Dateiname dabei ändert.
'Variablen & Konstanten definieren
Dim fso, objEingabe, objAusgabe, objSuchen
Dim Pfad, EingabeDatei, AusgabeDatei, Zeile
Suchen_Click()
Private Sub Suchen_Click()
Pfad = "C:\Users\xxx\Desktop\test\"
EingabeDatei = "test.txt"
AusgabeDatei = "aus.txt"
Const ForReading = 1, ForWriting = 2, ForAppending = 8
'Objekt erstellen
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Pfad & EingabeDatei) Then
Set objEingabe = fso.OpenTextFile(Pfad & EingabeDatei, 1)
Set objAusgabe = fso.OpenTextFile(Pfad & AusgabeDatei, 2,true)
Else
MsgBox "Fehler: Eingabedatei ist nicht vorhanden."
Exit Sub
End If
do until objEingabe.AtEndOfStream
Zeile = objEingabe.ReadAll
Zeile = Replace(zeile, vbcrlf, "")
objAusgabe.Write (Zeile)
Loop
objEingabe.Close
objAusgabe.Close
' Eingabedatei löschen
fso.DeleteFile Pfad & EingabeDatei, True
' AusgabeDatei umbenennen durch MoveFile
fso.MoveFile Pfad & Ausgabedatei, Pfad & EingabeDatei
Set objAusgabe = Nothing
Set objEingabe = Nothing
Set fso = Nothing
End Sub
Viele Grüße
Robs
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 249761
Url: https://administrator.de/contentid/249761
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Tranministrator,
etwa so:
Grüße
rubberman
etwa so:
Option Explicit
Const strPath = "C:\users\xxx\desktop\test"
Const strFirstPart = "TEST"
Const ForReading = 1, ForWriting = 2
Dim objFSO, objFolder, objFile, objStream, strContent
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strPath)
For Each objFile In objFolder.Files
If InStr(objFile.Name, strFirstPart) = 1 Then
Set objStream = objFile.OpenAsTextStream(ForReading)
strContent = Replace(objStream.ReadAll, vbCrLf, "")
objStream.Close
Set objStream = objFile.OpenAsTextStream(ForWriting)
objStream.Write strContent
objStream.Close
End If
Next
rubberman