VBA - Wert in einer bestimmten Position ändern
Hallo zusammen,
kenn mich leider noch nicht gut in VBS aus. Hoffe das mir jemand von euch weiterhelfen kann.
Ich hab eine Datei (test.txt). In dieser Datei sind viel Zeilen. Nun möchte ich gerne, dass ein bestimmter Wert an einer bestimmten Position ersetzt wird. Also z.B. sollte eine 1 anstatt dem vorhanden Wert in der Position 71 eingetragen werden und das natürlich in allen Zeilen!
Hoffe ich konnte das verständlich rüber bringen...
Vorab vielen Dank!
kenn mich leider noch nicht gut in VBS aus. Hoffe das mir jemand von euch weiterhelfen kann.
Ich hab eine Datei (test.txt). In dieser Datei sind viel Zeilen. Nun möchte ich gerne, dass ein bestimmter Wert an einer bestimmten Position ersetzt wird. Also z.B. sollte eine 1 anstatt dem vorhanden Wert in der Position 71 eingetragen werden und das natürlich in allen Zeilen!
Hoffe ich konnte das verständlich rüber bringen...
Vorab vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92363
Url: https://administrator.de/forum/vba-wert-in-einer-bestimmten-position-aendern-92363.html
Ausgedruckt am: 30.04.2025 um 21:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo ReEppa und willkommen im Forum!
Etwa so:
Die Ersetzung erfolgt "in" der Originaldatei (genauer: diese wird mit dem geänderten Inhalt neu erstellt).
Grüße
bastla
P.S.: In VBA ließe sich die Zeile 9 reduzieren auf:
Etwa so:
Position = 71
Ersatztext = "1"
Datei = "D:\test.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
T = Split(fso.OpenTextFile(Datei).ReadAll, vbCrLF)
For i = 0 To UBound(T)
If Len(T(i)) >= Position Then
T(i) = Left(T(i), Position - 1) & Ersatztext & Mid(T(i), Position + 1)
End If
Next
fso.CreateTextFile(Datei, True).Write Join(T, vbCrLF)
Grüße
bastla
P.S.: In VBA ließe sich die Zeile 9 reduzieren auf:
Mid(T(i), Position, 1) = Ersatztext