OpenAsTextStream-Methode

Öffnet eine angegebene Datei und gibt ein TextStream-Objekt zurück, das zum Lesen von der Datei, zum Schreiben in die Datei oder zum Anhängen an die Datei verwendet werden kann.

Syntax

object.OpenAsTextStream([iomode, [format]])

Argumente:

  • Object: Erforderlich. Immer der Name eines File-Objekts.

  • Iomode: Optional. Gibt den Eingabe-/Ausgabemodus an. Kann eine von drei Konstanten sein: ForReading, ForWriting oder ForAppending.

  • Format: Optional. Gibt das Format der geöffneten Datei an. Wird diese Option ausgelassen, wird die Datei standardmäßig als Unicode geöffnet.

    Note:

    Das Argument "format" ist inaktiv und wird beibehalten, um das Verhalten des VB-Skripts nachzuahmen. Es hat keine Auswirkung. Alle Dateien werden im Unicode-Format erstellt.

Einstellungen

Das Argument "iomode" kann eine der folgenden Einstellungen aufweisen:

Table 11-35 Einstellung für Argument "iomode"

Konstante Wert Beschreibung
ForReading 1 Öffnen Sie eine Datei nur zum Lesen. Sie können nicht in diese Datei schreiben.
ForWriting 2 Öffnen Sie eine Datei zum Schreiben.
ForAppending 8 Öffnen Sie eine Datei, und fügen Sie Text am Ende der Datei hinzu.

Anmerkungen

Die OpenAsTextStream-Methode bietet dieselbe Funktionalität wie die OpenTextFile-Methode der FileSystemObject-Methode. Darüber hinaus kann die OpenAsTextStream-Methode zum Schreiben in eine Datei verwendet werden.

Der folgende Code veranschaulicht die Verwendung der OpenAsTextStream-Methode:

Beispiel 1

Function WriteToFile(filepath, text)
    Const ForWriting = 2
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteToFile "C:\Path\To\Your\File.txt", "This is a test message."

Beispiel 2:

Function AppendToFile(filepath, text)
    Const ForAppending = 8
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForAppending)
    ts.WriteLine text
    ts.Close
End Function

' Usage
AppendToFile "C:\Path\To\Your\File.txt", "This is additional text."

Beispiel 3:

Function WriteUnicodeToFile(filepath, text)
    Const ForWriting = 2
    Const TristateTrue = -1
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting, TristateTrue)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteUnicodeToFile "C:\Path\To\Your\File.txt", "This is a Unicode test message."

Beispiel 4:

Function ReadFromFile(filepath)
    Const ForReading = 1
    Dim fso, f, ts, content
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForReading)
    Do While Not ts.AtEndOfStream
        content = content & ts.ReadLine
    Loop    
    ts.Close
    ReadFromFile = content
End Function

' Usage
Dim fileContent
fileContent = ReadFromFile("C:\Path\To\Your\File.txt")
'Output: Content of the File