OpenAsTextStream (Método)

Visual Basic VBLR

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