reeppa

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!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

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
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