Abre um arquivo especificado e retorna um objeto TextStream que pode ser usado para ler, gravar ou anexar ao arquivo.
Sintaxe
object.OpenAsTextStream([iomode, [format]])
Argumentos:
Object: Obrigatório. Sempre o nome de um objeto File.
Iomode: Opcional. Indica modo de entrada/saída. Pode ser uma de três constantes: ForReading, ForWriting ou ForAppending.
Format: Opcional. Indica o formato do arquivo aberto. Se omitido, o arquivo é aberto como Unicode por padrão.
Note:
O argumento Format está inativo e é mantido para imitar a sintaxe do VB Script. Ele não tem efeito. Todos os arquivos são criados no formato Unicode.
Configurações
O argumento iomode pode ter uma das seguintes configurações:
Table 11-35 Configuração do argumento Iomode
| Constante | Valor | Descrição |
|---|---|---|
| ForReading | 1 | Abre um arquivo somente para leitura. Você não pode gravar neste arquivo. |
| ForWriting | 2 | Abre um arquivo para gravação. |
| ForAppending | 8 | Abre um arquivo e grava no final do arquivo. |
Comentários
O método OpenAsTextStream fornece a mesma funcionalidade do método OpenTextFile do FileSystemObject. Além disso, o método OpenAsTextStream pode ser usado para gravar em um arquivo.
O código a seguir ilustra o uso do método OpenAsTextStream:
Exemplo 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."
Exemplo 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."
Exemplo 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."
Exemplo 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