Como el titulo lo indica el código que
estudiaremos a continuación nos permitirá leer un archivo con extensión .txt
usando macros VBA, pero además de esto aprenderemos el uso de la función SPLIT.
La macro hace lo siguiente:
- Recorre un archivo con extensión .txt separado por comas.
- Genera una cadena de texto concatenando la información leída del archivo.
- Utiliza la función Split para crear un vector.
- Recorre el vector e imprime cada posición en la hoja de cálculo.
He creado un archivo de texto con el nombre de
cinco países y sus capitales separado por comas:
1. Recorrer el archivo .txt separado por comas.
Definimos
las siguientes variables:
La variable vector () es un arreglo de tipo string al
cual no le asignamos un número fijo de posiciones porque no sabemos cuántos
elementos tendrá. La variable WS de tipo Excel.Worksheet , esta variable
identifica la hoja de cálculo. La variable Cadena de tipo string nos servirá para
almacenar los valores que leamos del documento .txt. La variable miarchivo de
tipo string almacena la ubicación del documento .txt. La variable texto también
de tipo string almacena los valores que se van leyendo del documento .txt. La
variable f de tipo entero será un contador que usaremos en el programa.
Asignamos a la variable ws la hoja de cálculo de
trabajo. Asignamos a la variable miarchivo la ubicación de la hoja de texto. Abrimos
el documento .txt e iniciamos la variable contador f en 0. Utilizamos un ciclo while para recorrer el archivo de texto, para leer
cada línea usamos: Line Input #1 ,
variable, aumentamos en uno el contador hasta que lleguemos al final del
archivo.
2. Genera una cadena de texto concatenando la información leída del archivo.
Dentro del ciclo while se ejecuta la siguiente instrucción
cadena = cadena + texto + ",”. Esta
instrucción une el valor de la variable cadena con lo leído del archivo .txt.
En VBA usamos el símbolo (+) para unir cadenas.
3. Utiliza la función SPLIT para crear un vector.
La función
SPLIT
retorna un vector unidimensional formado por un número específico de
subcadenas. Para nuestro ejemplo creamos un vector usando la función SPLIT así: vector = Split(cadena, ",", Len(cadena) - 1), previamente
definimos la variable vector que contendrá el resultado de la función SPLIT,
esta función recibe como parámetro una expresión de tipo string , para nuestro
caso la variable cadena, un delimitador que para el ejemplo es la “,”. Un límite
es decir la longitud del primer parámetro – 1. Para conocer la longitud del
primer parámetro usamos la función LEN().
4. Recorre un vector e imprime cada posición en la hoja de cálculo.
Recorremos el vector creado en el punto tres e imprimimos
cada posición del vector en la hoja de cálculo:
Asignamos el valor 1 a la variable contador i,
entramos en un ciclo while hasta que el vector en la posición i este vacío.
Imprimimos el valor en la hoja de cálculo y aumentamos 1 al contador.
Aquí está el código completo:
Si te fue util este material compartelo en tus redes sociales. Puedes encontrar mas ejemplos como este en mi ebook puedes descargarlo haciendo click aquí.
No hay comentarios:
Publicar un comentario