Bei der Textdateiverarbeitung mit Visual Basic Script (VBS) kann es zum unschönen Phänomen kommen, dass das Skript kryptische Daten ausliest. Wie lässt sich das Problem umgehen?
Bei der Textdateiverarbeitung mit Visual Basic Script (VBS) kann es passieren, dass das Skript statt einem lesbaren Textinhalt kryptische Daten ausliest. Auch wer den "TristateTrue" auf UNICODE umstellt, wird möglicherweise nicht den gewünschten Erfolg erzielen können. Grundsätzlich gibt es zwei unterschiedliche Methoden, um Textdateien einzulesen. Eine Variante für Standard ANSI-Dateien und eine modernere Variante für UTF8/UTF16/US-ASCII:
Variante ANSI:
option explicit
dim objSHELL, objFSO, objOTX, strFILENAME, strDATA
strFILENAME = „ANSI.TXT“
set objSHELL = CreateObject(„WScript.Shell“)
set objFSO = CreateObject(„Scripting.FileSystemObject“)
set objOTX = objFSO.OpenTextFile(strFILENAME,1,0)
strDATA = objOTX.ReadAll
msgbox(strData)
Variante: UTF8/UTF16/US-ASCII:
option explicit
Dim objSTREAM, strDATA, strFILENAME
strFILENAME = „uni.txt“
Set objSTREAM = CreateObject(„ADODB.Stream“)
objSTREAM.CharSet = „utf-16“
objSTREAM.Open
objSTREAM.LoadFromFile(strFILENAME)
strDATA = objStream.ReadText()
msgbox(strDATA)
Hierbei muss man das Charset entsprechend anpassen, beispielsweise UTF-8, UTF-16 oder US-ASCII.