OpenAsTextStream (Método)
Descripción
Abre un archivo especificado y devuelve un objeto TextStream que se puede utilizar para leer desde, escribir a, o anexar al archivo.
Sintaxis
objeto.OpenAsTextStream([modoES, [formato]])
La sintaxis del método OpenAsTextStream consta de las siguientes partes:
Parte | Descripción |
---|---|
objeto | Requerido. Siempre el nombre de un objeto File. |
modoES | Opcional. Indica el modo de entrada/salida. Puede ser una de las tres constantes siguientes: ForReading, ForWriting o ForAppending. |
formato | Opcional. Uno de los tres valores Tristate (constantes triestado) que se utilizan para indicar el formato del archivo abierto. Si se omite, el archivo se abre como ASCII. |
Valores
El argumento modoES puede tener cualquiera de los valores siguientes:
Constante | Valor | Descripción |
---|---|---|
ForReading | 1 | Abrir un archivo como sólo lectura. No se puede escribir en este archivo. |
ForWriting | 2 | Abrir un archivo para escribir. Si existe un archivo con el mismo nombre, se sobrescribe el contenido anterior. |
ForAppending | 8 | Abrir un archivo y escribir al final del mismo. |
El argumento formato puede tener cualquiera de los siguientes valores:
Constante | Valor | Descripción |
---|---|---|
TristateUseDefault | –2 | Abrir el archivo utilizando el valor predeterminado del sistema. |
TristateTrue | –1 | Abrir el archivo como Unicode. |
TristateFalse | 0 | Abrir el archivo como ASCII. |
Comentarios
El método OpenAsTextStream proporciona la misma funcionalidad que el método OpenTextFile del objeto FileSystemObject. Además, el método OpenAsTextStream se puede utilizar para escribir en un archivo.
El código siguiente demuestra la utilización del método OpenAsTextStreams:
Sub TextStreamTest
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1,
TristateFalse = 0
Dim fs, f, ts, s
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile "prueba1.txt" 'Crear un archivo
Set f = fs.GetFile("prueba1.txt")
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write "¡Hola mundo!"
ts.Close
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
s = ts.ReadLine
MsgBox s
ts.Close
End Sub