Visual Basic Script fso.CreateTextFile WriteLine ohne Zeilenumbruch nach letztem Datensatz
Suche Hilfe um letzten Zeilenumbruch bei WriteLine zu entfernen oder diesen erst garnicht schreiben zu lassen.
Hallo,
ich habe ein VBS Script, dass eine CSV Datei einließt, Spalten entfernt und wieder neu schreibt.
Das schreiben erfolgt Zeile für Zeile mit fso.CreateTextFile und WriteLine.
Hier nun mein Problem. Write.Line legt nach jeder Zeile einen Zeilenumbruch an. Dies ist ansich auch gut aber am Ende soll dies nicht passieren. Kann ich das unterbinden oder den letzten Umbruch löschen? Alternativ dachte ich zuerst, dass ich die Zeilen einfach nur mit Write schreibe und dann ein & vbLf einfüge aber das bringt dann natürlich genau das gleiche Resultat.
Freundliche Grüße
Yves
Hallo,
ich habe ein VBS Script, dass eine CSV Datei einließt, Spalten entfernt und wieder neu schreibt.
Das schreiben erfolgt Zeile für Zeile mit fso.CreateTextFile und WriteLine.
Hier nun mein Problem. Write.Line legt nach jeder Zeile einen Zeilenumbruch an. Dies ist ansich auch gut aber am Ende soll dies nicht passieren. Kann ich das unterbinden oder den letzten Umbruch löschen? Alternativ dachte ich zuerst, dass ich die Zeilen einfach nur mit Write schreibe und dann ein & vbLf einfüge aber das bringt dann natürlich genau das gleiche Resultat.
Freundliche Grüße
Yves
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173953
Url: https://administrator.de/forum/visual-basic-script-fso-createtextfile-writeline-ohne-zeilenumbruch-nach-letztem-datensatz-173953.html
Ausgedruckt am: 23.12.2024 um 15:12 Uhr
11 Kommentare
Neuester Kommentar
Hallo yv35k0 und willkommen im Forum!
Zumeist ist es sinnvoll, bereits vorhandenen Code auch (vorzugsweise mit passender ) zu posten ...
Ansonsten könntest Du etwa so vorgehen:
Mit zeilenweisem Schreiben:
Alternativ gleich die gesamte Ausgabe als String erzeugen und dann am Stück schreiben:
Grüße
bastla
Zumeist ist es sinnvoll, bereits vorhandenen Code auch (vorzugsweise mit passender ) zu posten ...
Ansonsten könntest Du etwa so vorgehen:
Mit zeilenweisem Schreiben:
For ...
....
Datei.Write Prefix & Zeile
Prefix = vbCrLf
Next
For ...
....
Ausgabe = Ausgabe & vbCrLf & Zeile
Next
fso.CreateTextFile(Pfad).Write Mid(Ausgabe, 3)
bastla
Hallo yv35k0!
Ansonsten kannst Du ja auch bei zeilenweisem Einlesen analog zu meinem "
Grüße
bastla
Wenn in der Quelldatei am Ende schon ein Umbruch ist kann ich diesen im Ziel auch verhindern?
Wer soll Dich davon abhalten? Im Zweifelsfall tendiere ich dazu, gleich die ganze Datei einzulesen und zeilenweise weiter zu verarbeiten:Zeilen = Split(fso.OpenTextFile(Pfad).ReadAll, vbCrLf)
For Each Zeile In Zeilen
If Trim(Zeile) <> "" Then 'Keine (bis auf Leerzeichen) leere Zeile verarbeiten
NeueZeile = ...
Ausgabe = Ausgabe & vbCrLf & NeueZeile
End If
Next
fso.CreateTextFile(Pfad).Write Mid(Ausgabe, 3)
If
" feststellen, ob eine Zeile überhaupt zu verarbeiten ist (für den Fall, dass am Ende der Umbruch stünde, wäre die letzte Zeile leer) ...Grüße
bastla