Opens a specified file and returns a TextStream object that can be used to read from, write to, or append to the file.
Syntax
object.OpenAsTextStream ([ iomode, [ format ]])
The OpenAsTextStream method syntax has these parts:
Part | Description |
---|---|
object | Required. Always the name of a File object. |
iomode | Optional. Indicates input/output mode. Can be one of three constants: ForReading, ForWriting, or ForAppending. |
format | Optional. One of three Tristate values used to indicate the format of the opened file. If omitted, the file is opened as ASCII. |
Settings
The iomode argument can have any of the following settings:
Constant | Value | Description |
---|---|---|
ForReading | 1 | Open a file for reading only. You can't write to this file. |
ForWriting | 2 | Open a file for writing. If a file with the same name exists, its previous contents are overwritten. |
ForAppending | 8 | Open a file and write to the end of the file. |
The format argument can have any of the following settings:
Constant | Value | Description |
---|---|---|
TristateUseDefault | -2 | Opens the file by using the system default. |
TristateTrue | -1 | Opens the file as Unicode. |
TristateFalse | 0 | Opens the file as ASCII. |
Examples
The OpenAsTextStream method provides the same functionality as the OpenTextFile method of the FileSystemObject. In addition, the OpenAsTextStream method can be used to write to a file.
The following code illustrates the use of the OpenAsTextStream method:
Sub TextStreamTest()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fs, f, ts, s
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile "d:\helloworld.txt" 'Create a file
Set f = fs.GetFile("d:\helloworld.txt")
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write "Hello World"
ts.Close
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
s = ts.ReadLine
MsgBox s
ts.Close
End Sub