wie kann ich mit einem Makro in einer Datei eine Zeichenkette suchen und mit einer anderen Zeichenkette ersetzen, ohne diese Datei zu öffnen?
Kann mir jemand helfen?
Vielen Dank im voraus
mfG Jakob
Option Explicit
Sub SuchenErsetzen()
Dim varDatei
Dim strInhalt As String
Dim d As Integer
Dim strSuchen As String
Dim strErsetzen As String
'Datei wählen
varDatei = Application.GetOpenFilename(, , "Datei wählen")
If VarType(varDatei) = vbBoolean Then Exit Sub
'Texte fragen
strSuchen = InputBox("welche Zeichenkette soll ersetzt werden?", "zu suchen")
strErsetzen = InputBox("welche Zeichenkette soll eingefügt werden?", "zu ersetzen")
'Datei öffnen (ohne gehts nicht)
d = FreeFile
Open varDatei For Binary As #d
'lesen
strInhalt = Space(LOF(d))
Get #d, , strInhalt
'schliessen
Close #d
'ersetzen
strInhalt = Replace(strInhalt, strSuchen, strErsetzen)
'neue Datei erstellen
Open varDatei & "_tmp" For Binary As #d
Put #d, , strInhalt
Close #d
'die alte mit dieser überschreiben
FileCopy varDatei & "_tmp", varDatei
'die neue Datei löschen
Kill varDatei & "_tmp"
End Sub