Text in Dateien eines Verzeichnisses ändern
19.08.2010 15:41:07
NoNet
Hallo Jens,
hier ein entsprechender Code :
Dim lngAnz As Long
Sub AlleTXTDateienBearbeiten()
Dim strDateiname As String, strPfad As String
strPfad = "C:\Txt\" 'Pfad mit "\" am Ende !
strDateiname = Dir(strPfad & "*.txt")
While strDateiname ""
'Verdana durch Arial ersetzen :
TextdateiAendern strPfad & strDateiname, "Verdana", "Arial"
strDateiname = Dir
Wend
MsgBox lngAnz & " Dateien wurden geändert.", vbInformation, "Fertig !"
End Sub
Sub TextdateiAendern(strDateiname, strAlterText, strNeuerText)
Const ForReading = 1, ForWriting = 2
Dim fso, objDatei As Object, strText As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set objDatei = fso.OpenTextFile(strDateiname, ForReading) 'Datei zum Lesen öffnen
If objDatei.AtEndOfStream Then
strText = ""
Else
strText = objDatei.ReadAll 'kompletten Dateiinhalt einlesen
If InStr(strText, strAlterText) > 0 Then
strText = Replace(strText, strAlterText, strNeuerText) 'Textinhalt ersetzen
Set objDatei = fso.OpenTextFile(strDateiname, ForWriting, True) 'Datei zum _
Schreiben öffnen
objDatei.Write strText 'kompletten Textinhalt wieder zurück schreiben
lngAnz = lngAnz + 1
End If
End If
End Sub
Du musst lediglich das Makro AlleTXTDateienBearbeiten starten.
Ich übernehme keine Gewähr für die 100%ige Funktionalität des Codes !
Da hier Dateien im Ordner C:\TXT modifiziert werden, empfehle ich dir VOR dem Makro-Start eine Sicherheits-Kopie des Ordners zu erstellen !
Gruß, NoNet