reeppa
Goto Top

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!

Content-Key: 92363

Url: https://administrator.de/contentid/92363

Ausgedruckt am: 29.03.2024 um 01:03 Uhr

Mitglied: bastla
bastla 18.07.2008 um 14:20:54 Uhr
Goto Top
Hallo ReEppa und willkommen im Forum!

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)
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:
Mid(T(i), Position, 1) = Ersatztext
Mitglied: ReEppa
ReEppa 18.07.2008 um 14:57:45 Uhr
Goto Top
Hallo bastla,

klassen! Vielen Dank! face-smile Genau so hab ich es mir vorgestellt...

Gruß
ReEppa