Compartir a través de


OpenAsTextStream (método)

Abre un archivo especificado y devuelve un objeto TextStream que se puede usar para leer, escribir en o anexar al archivo.

Sintaxis

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

La sintaxis del método OpenAsTextStream tiene estas partes:

Parte Descripción
object Obligatorio. Siempre es el nombre de un objeto File .
iomode Opcional. Indica el modo de entrada/salida. Puede ser una de estas tres constantes: ForReading, ForWriting o ForAppending.
format Opcional. Uno de tres valores Tristate usados para indicar el formato del archivo abierto. Si se omite, el archivo se abre como ASCII.

Configuración

El argumento iomode puede tener la siguiente configuración:

Constante Valor Descripción
ForReading 1 Abrir un archivo solamente para su lectura. No puede escribir en este archivo.
ForWriting 2 Abre un archivo de escritura. Si hay un archivo con el mismo nombre, se sobrescribe el contenido anterior.
ForAppending 8 Abrir un archivo y escribir en la parte final del archivo.

El argumento format puede tener cualquiera de los valores siguientes:

Constante Valor Descripción
TristateUseDefault -2 Abre el archivo con el valor predeterminado del sistema.
TristateTrue -1 Abre el archivo como Unicode.
TristateFalse 0 Abre el archivo como ASCII.

Comentarios

El método OpenAsTextStream proporciona la misma funcionalidad que el método OpenTextFile de FileSystemObject. Además, el método OpenAsTextStream puede usarse para escribir en un archivo.

El siguiente código muestra el uso del método OpenAsTextStream:

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 "test1.txt"            'Create a file
    Set f = fs.GetFile("test1.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

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.