Anzeige
Archiv - Navigation
1172to1176
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

TXT Dateien eines Verzeichnisses ändern

TXT Dateien eines Verzeichnisses ändern
jens
Hallo Excel-Profis,
ich habe zig txt-Dateien (Kommasepariert) bei denen viele Zeilen mit Inhalten drin sind.
Die Dateien stehen alle in dem Verzeichnis C:\txt
Da steht ein Eintrag mit "Verdana" drin den ich in "Arial ändern muß.
Kann ich per VBA jede Datei in dem Verzeichnis durchgehen, öffnen und den Eintrag ändern - und danach wieder speichern und schliessen?
Vielen Dank Gruß Jens

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
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
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige