Archivos ascii con vba

Solo disponible en BuenasTareas
  • Páginas : 3 (524 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de enero de 2011
Leer documento completo
Vista previa del texto
ARCHIVOS ASCII con VBA
A veces queremos guardar datos en un archivo de texto (archivo Ascii), por ejemplo de tipo CSV o de tipo sequencial (posiciones fijas). Es decir, utilizar un archivo de textocomo una sencilla base de datos.
Si los datos que tenemos que guardar son pocos, conviene guardarlos en un archivo Ascii en vez de una base de datos ‘de verdad’ como Access.
Hay que tener un cuentaque los datos guardados en archivos Ascii ocuparán más espacio que en una base de datos de verdad. Pero para guardar hasta unos mil líneas de texto no hay problema ninguno.

Comando OPEN

El OPENnos hace posible crear/abrir un archivo de texto, para luego proceder a escribir a este archivo.
Hay tres modos:
Output
Abrir (o crear) el archivo (suprime todo ya grabado) para escribir. Es decirque, si el archivo existe, borrará todo los datos ya grabados.
Open strArchivoTexto For Output As #f
Append
Abrir (o crear) para escribir (seguir por la última línea).
Open strArchivoTexto ForAppend As #f
Input
Abrir para lectura (a Excel).
Open strArchivoTexto For Input As #f
Sobre la ‘#f‘: Para trabajar con el contenido de estos archivos hay que llamar a los archivos de una maneranumérica. Si utilizamos el FREEFILE, no habrá que preocuparse de esta numeración.

Comando PRINT

El PRINT se emplea para la forma sequencial (posiciones fijas) = ‘tal como está’. En los ejemplos abajoutilizaremos el comando PRINT.
Print #f, "Fecha de hoy: " & Date

Comando WRITE

El WRITE se utiliza para la forma sequencial CSV (Comma Separated Value – Valor separado por coma). Esto significaque añadirá una coma entre cada bloque de texto. Esto ayuda a la hora de importar un archivo Ascii a Excel.
Print #f, "Fecha de hoy: " & Date ; " Application.UserName
Cada bloque de texto sedelimita del próximo por el carácter ‘;‘.

Escribir archivo Ascii – OUTPUT

Sub Crear_Escribir_ArchivoAscii()
 
Dim strNombreArchivo, strRuta, strArchivoTexto As String
Dim f As Integer
 ...
tracking img