¿Cómo usar la instrucción Line Input # en VBA?

La instrucción `Line Input #` en VBA se utiliza para leer una línea completa de texto de un archivo abierto. Esto resulta útil cuando trabajas con archivos de texto y necesitas procesar el contenido línea por línea. A continuación te explico cómo usar esta instrucción:

  • Abrir el archivo: Antes de poder usar `Line Input #`, necesitas abrir el archivo del que deseas leer. Utiliza la instrucción `Open` para esto.
  • Leer el contenido línea por línea: Usa `Line Input #` dentro de un bucle para leer cada línea del archivo. Generalmente, se usa un bucle `Do While` o `For` junto con la función `EOF` (End of File) para asegurarte de no intentar leer más allá del contenido del archivo.
  • Cerrar el archivo: Es importante cerrar el archivo una vez hayas terminado de procesar sus datos utilizando la instrucción `Close`.

Aquí tienes un ejemplo que muestra cómo usar `Line Input #`:

Sub LeerArchivoTexto()
    Dim rutaArchivo As String
    Dim lineaTexto As String
    Dim numeroArchivo As Integer
    
    ' Especifica la ruta del archivo
    rutaArchivo = "C:rutadelarchivo.txt"
    
    ' Obtiene un número de archivo libre
    numeroArchivo = FreeFile
    
    ' Abre el archivo para lectura
    Open rutaArchivo For Input As #numeroArchivo
    
    ' Lee el archivo línea por línea hasta llegar al final
    Do While Not EOF(numeroArchivo)
        ' Lee una línea de texto del archivo
        Line Input #numeroArchivo, lineaTexto
        
        ' Puedes procesar la línea de texto aquí
        Debug.Print lineaTexto
    Loop
    
    ' Cierra el archivo
    Close #numeroArchivo
End Sub

Notas importantes:

  • Asegúrate de que la ruta al archivo sea correcta.
  • `FreeFile` proporciona un número de archivo que está disponible para uso, para evitar conflictos con otros archivos abiertos en la misma sesión.
  • `EOF` es útil para determinar cuándo has llegado al final del archivo y así evitar errores al intentar leer más allá de su contenido.
  • `Debug.Print` se utiliza en este ejemplo para mostrar cada línea leída en la ventana Inmediato de VBA. Puedes reemplazar esta línea con otro tipo de procesamiento según lo necesites.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project