birdyb
Goto Top

VbScript: ADODB.Stream: Neue Zeile einfügen

Hallo zusammen,

ich habe hier ein vb-skript, welches einen ADODB.Stream erzeugt und diesen mit Text füllt.
Dim objStreamTXT
Set objStreamTXT = CreateObject("ADODB.Stream")  
objStreamTXT.CharSet = "utf-8"  
objStreamTXT.Open

objStreamTXT.WriteText "Hallo Welt"  
objStreamTXT.WriteText "Hallo zurück!"  

objStreamTXT.SaveToFile "C:\temp\Test.txt", 2  

Ich würde gerne zwischen den beiden Textelementen eine Leerzeile einfügen, komme dabei aber einfach nicht weiter.

Was ich schon probiert habe:
objStreamTXT.WriteText "Hallo Welt", adWriteLine  
objStreamTXT.WriteText "\n"  
objStreamTXT.WriteText chr(10) & chr(13)
objStreamTXT.WriteText vbCRLF

Leider steht im Textfile immer
Hallo WeltHallo zurück!

Hat von euch noch jemand eine Idee für mich?

Vielen Dank und beste Grüße


Berthold

Content-ID: 334029

Url: https://administrator.de/forum/vbscript-adodb-stream-neue-zeile-einfuegen-334029.html

Ausgedruckt am: 09.04.2025 um 05:04 Uhr

colinardo
Lösung colinardo 04.04.2017 aktualisiert um 13:13:50 Uhr
Goto Top
Servus Berthold,
ein einfaches vbNewline oder vbCrLf reicht.
Folgende Varianten gehen einwandfrei:
objStreamTXT.WriteText "Hallo Welt" & vbNewline & "Hallo zurück!"  
oder
objStreamTXT.WriteText "Hallo Welt" & vbCrLf & "Hallo zurück!"  
oder
objStreamTXT.WriteText "Hallo Welt" & chr(13) & chr(10) & "Hallo zurück!"  
(Hier hattest du oben die Reihenfolge zwischen CR und LF verwechselt)

Per Default ist der LineSeparator ja ein adCRLF
https://www.w3schools.com/asp/prop_stream_lineseparator.asp
Bei Bedarf explizit setzen
objStreamTXT.LineSeparator = -1

Geht hier soweit alles einwandfrei.

Grüße Uwe
BirdyB
BirdyB 04.04.2017 um 18:03:02 Uhr
Goto Top
Hallo Uwe,

danke für die Hilfe... vbNewline hat mein Problem gelöst...

Beste Grüße!