Método OpenTextFile

Abre un archivo especificado y devuelve un objeto TextStream que se puede utilizar para leer, escribir o agregar en el archivo.

Sintaxis

object.OpenTextFile(filename[, iomode[, create]])

Argumentos:

  • Object: necesario. El objeto siempre es el nombre de FileSystemObject.
  • Filename: necesario. Expresión de cadena que identifica el archivo que se va a abrir.
  • Iomode: opcional. Puede ser una de estas tres constantes: ForReading, ForWriting o ForAppending.
  • Create: opcional. Valor booleano que indica si se puede crear un archivo nuevo si el nombre de archivo especificado no existe. El valor es True si se crea un archivo nuevo y False si no se crea. Si se omite, no se crea ningún archivo nuevo.
  • Format: opcional. Indica el formato del archivo abierto.

    Nota:

    El argumento format está inactivo y se mantiene para imitar la sintaxis VBScript. No tiene ningún efecto. Los archivos creados solo están en formato Unicode.

Configuración

El argumento iomode puede tener cualquiera de los siguientes valores:

Tabla 11-34 Valores del argumento iomode

Constante Valor Descripción
ForReading 1 Abre un archivo solo para lectura. No puede escribir en este archivo.
ForWriting 2 Abre un archivo para escritura.
ForWriting 8 Abre un archivo y escribe al final del archivo.

Observaciones

El siguiente código muestra el uso del método OpenTextFile.

Nota:

  • Si se crea un archivo nuevo, se creará con formato Unicode.

  • Si el archivo no existe, el código devolverá un error en ReadMode.

Ejemplo 1:

Sub OpenFileForReading()
    Const ForReading = 1
    Dim fso, tso
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set tso = fso.OpenTextFile("C:\example1.txt", ForReading)    
    tso.Close               ' Close the file.

    Set tso = Nothing
    Set fso = Nothing
End Sub

Call OpenFileForReading
'If C:\example1.txt is not present then code will throw an error. 

Ejemplo 2:

Sub OpenFileForWriting()
    Const ForWriting = 2
    Dim fso, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.OpenTextFile("C:\example2.txt", ForWriting, True)
    
    file.WriteLine("This is written to the file.")   ' Writes text to the file.
    file.Close               ' Close the file.

    Set file = Nothing
    Set fso = Nothing
End Sub

Call OpenFileForWriting
'Creates C:\example2.txt and writes a line "This is written to the file."

Ejemplo 3:

Sub OpenFileForAppending()
    Const ForAppending = 8
    Dim fso, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.OpenTextFile("C:\example2.txt", ForAppending, True)
    
    file.WriteLine("This line is appended.")   ' Appends text to the file.
    file.Close               ' Close the file.

    Set file = Nothing
    Set fso = Nothing
End Sub

Call OpenFileForAppending
'Creates C:\example2.txt and writes a line "This line is appended.". If file already exists it appends this line.

Ejemplo 4:

Sub OpenFileWithCreateOption()
    Const ForWriting = 2
    Dim fso, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.OpenTextFile("C:\example2.txt", ForWriting, True)   ' Creates the file if it doesn't exist.

    file.WriteLine("New File created and text written.")   ' Writes text to the file.
    file.Close               ' Close the file.
 
    Set file = Nothing
    Set fso = Nothing
End Sub

Call OpenFileWithCreateOption
'Overwrites C:\example2.txt and writes a line "New File created and text written.". If file does not exists then it creates it.