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-Key: 334029

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

Printed on: April 19, 2024 at 12:04 o'clock

Member: colinardo
Solution colinardo Apr 04, 2017 updated at 11:13:50 (UTC)
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
Member: BirdyB
BirdyB Apr 04, 2017 at 16:03:02 (UTC)
Goto Top
Hallo Uwe,

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

Beste Grüße!