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

Printed on: April 25, 2024 at 17:04 o'clock

Member: bastla
bastla Jul 18, 2008 at 12:20:54 (UTC)
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
Member: ReEppa
ReEppa Jul 18, 2008 at 12:57:45 (UTC)
Goto Top
Hallo bastla,

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

Gruß
ReEppa