Ich versuche, FileSystemObject-Methoden zu verwenden, um eine bestimmte Zeile in einer Textdatei zu finden und innerhalb dieser Zeile eine bestimmte Zeichenfolge zu ersetzen. Ich bin relativ neu dazu, wie mein aktueller Code Excel hat, öffne die Textdatei und ersetze, was ich es ersetzen muss, dann speichere und schließe es. Dieser Weg ist nicht länger eine Option, da Excel die Textdatei öffnen dauert zu lange und hält die Datei.Wie ersetze ich einen String in einer Zeile einer Textdatei mit FileSystemObject in VBA?
Das ist, wie weit ich bisher gekommen bin.
-
Sub FindLines()
Const ForReading = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFSO = FSO.OpenTextFile("C:\Users\Carella Home\Desktop\boomboom.txt", ForReading, False)
Do Until objFSO.AtEndOfStream = True
go = objFSO.ReadLine
If InStr(1, go, "ant", vbTextCompare) > 0 Then
bo = Replace(go, "t", "wow")
End If
Loop
objFSO.Close
Set objFSO = FSO.OpenTextFile("C:\Users\Carella Home\Desktop\boomboom.txt", 2)
End Sub
-
Das Beste, was ich offen tun kann, ist die Datei zu schreiben, aber ich habe keine Ahnung, wie die Linie zu finden und ersetzen Sie es mit der Zeile, die ich brauche, um Ersetzen Sie es durch.
Bitte lassen Sie mich wissen, wenn Sie bereit sind, mir in die richtige Richtung zu helfen, benötigen Sie weitere Informationen. Ich habe viel gesucht und Leute gesehen, die andere Wege vorgeschlagen haben, dies zu tun. Ich muss lernen, wie man Linien auf diese Weise bearbeitet. Kann mir bitte jemand helfen?
Vielen Dank im Voraus!
-Anthony C.
Aus Neugier, warum Excel und nicht Wort oder ein anderer Textleser? –
Ich benutzte Excel, weil das ist, was mir ursprünglich beigebracht wurde. Der VBA-Code befindet sich in einer Datei, die von vielen Benutzern verwendet wird. Nach dem Lesen von 10 dieser Anwendungen war das Lesen/Schreiben in dieselbe Datei durch Öffnen/Schließen von Excel zu viel und verursachte zu viele Fehler. Ich brauche etwas schneller als das Öffnen und Schließen der Datei. – aCarella