Para trabajar con archivos Visual Basic nos ofrece varias opciones para crear, guarda, actualizar un archivo esas opciones las veremos a continuación.
Algunas veces necesitamos guardar algún tipo de información en archivos, como por ejemplo crear un archivo csv para guardar cierta información en ella.
también puedes ver Exportar – Importar datos de un Archivo CSV en Visual Basic 6
Lo primero que se debe hacer para trabar un archivo es abrirlo ingresar el contenido y cerrar el archivo, ese es siempre el proceso al trabajar con archivos.
Abrir -> Agregar Líneas o Modificar -> Cerrar
Para abrir un archivo se utiliza Open. utiliza la siguiente sintaxis:
Syntax
Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]
Open [ruta de acceso] For [tipo de acceso] As [número de archivo]
Parámetro | Descripción |
---|---|
pathname | Requerid0. Expresión de cadena que especifica un nombre de archivo; puede incluir directorio o carpeta y unidad. |
mode | Requerid0. Palabra clave que especifica el modo de archivo: Adjuntar, Binario, Entrada, Salida o Aleatorio. Si no se especifica, el archivo se abre para acceso aleatorio. |
access | Opcional. Palabra clave que especifica las operaciones permitidas en el archivo abierto: lectura, escritura o lectura y escritura. Read, Write, o Read Write. |
lock | Opcional. Palabra clave que especifica las operaciones restringidas en el archivo abierto por otros procesos: Shared, Lock Read, Lock Write, and Lock Read Write. |
filenumber | Requerid0. Un número de archivo válido en el rango de 1 a 511, inclusive. Utilice la función FreeFile para obtener el siguiente número de archivo disponible. |
reclength | Opcional. Número menor o igual a 32,767 (bytes). Para archivos abiertos para acceso aleatorio, este valor es la longitud del registro. Para archivos secuenciales, este valor es el número de caracteres almacenados en búfer. |
Ejemplos
El siguiente ejemplo se muestra como se abre y se cierra un archivo ya existente en modo de entrada secuencial. Solo es para lectura.
'se abre un archivo llamado pruebaarchivo el archivo debe existir Open App.Path & "\pruebaarchivo.txt" For Input As #1 ' Cierre antes de volver a abrir en otro modo. Close #1
El siguiente ejemplo se muestra como se abre un archivo en modo Append si no existente se crea y si existe conserva el contenido.
'se abre un archivo llamado pruebaarchivo2.txt si el archivo no existe se crea Open App.Path & "\pruebaarchivo.txt" For Append As #1 ' Cierre antes de volver a abrir en otro modo. Close #1
En el siguiente modo Output, se abre un archivo con el nombre asignado si no existente se crea y si existe borrando su contenido:
'se abre un archivo existente llamado pruebaarchivo.txt (borrando el cotenido del archivo) Open App.Path & "\pruebaarchivo.txt" For Output As #1 ' Cierre antes de volver a abrir en otro modo. Close #1
Escribiendo en el archivo
Para escribir en el archivo se utiliza Write o Print que tiene la siguiente sintaxis Write #[Número de archivo], [Dato a escribir] o Print #[Número de archivo], [Dato a escribir]
Y para la lectura de datos se utiliza Input que tiene la siguiente sintaxis Input #[Número de archivo], [Variable]
Ejemplos
Ejemplo de leer el contenido de un archivo, para esto lógicamente el archivo debe existir, en el ejemplo siguiente se lee la primera línea del archivo:
Dim LineaArchivo As String Open App.Path & "\pruebaarchivo.txt" For Input As #1 Input #1, LineaArchivo Close #1
Para escribir se abre el archivo en el modo que crea conveniente ya sea Output o Append según si queremos o no conservar el contenido del archivo.
La diferencia que noto entre Write y Print es que cuando utilizo Write escribirá todo lo que este después del indicador del archivo y cada palabra debe separarse por ; a diferencia de Print que entre comillas podemos escribir todo el texto si tener que usar ; para cada palabra me parece mas util.
Open App.Path & "\pruebaarchivo2.txt" For Output As #1 ' Cierre antes de volver a abrir en otro modo. Write #1, "Escribiendo una línea de texto en el archivo"; 1245 Close #1 Open App.Path & "\pruebaarchivo2.txt" For Output As #1 Print #1, "Escribiendo una línea de texto en el archivo" Close #1
Si queremos escribir varias líneas de texto:
Open App.Path & "\pruebaarchivo2.txt" For Output As #1 Print #1, "Primera Linea" Print #1, "Segunda Linea" Print #1, "Tercera Linea" Print #1, "Cuarta Linea" Close #1
Ejemplo usando líneas en blanco, espacios, tabulaciones:
Open App.Path & "\pruebaarchivo2.txt" For Output As #1 Print #1, "Testo de prueba" Print #1, ' Escribir una linea en blanco. Print #1, "Zona 1"; Tab; "Zona 2" ' Se puede usar Tab para hacer tabulación. Print #1, "Hola"; " "; "Mundo" ' Separar cadenas usando espacios. Print #1, Spc(5); "5 espacios " ' Escribir 5 espacios antes del texto Print #1, Tab(10); "Hola" ' Imprimir palabra en la columna 10. Close #1