Leer datos de un archivo de texto usando Excel VBA - Macros fáciles de Excel

Tabla de contenido

A continuación, veremos un programa en Excel VBA ese lee datos de un archivo de texto. Este archivo contiene algunas coordenadas geográficas que queremos importar a Excel.

Situación:

1. Primero, descargue el archivo de texto y agréguelo a "C: \ test \"

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

2. Declaramos cuatro variables. myFile de tipo String, texto de tipo String, línea de texto de tipo String, posLat de tipo Integer y posLong de tipo Integer.

Dim myFile como cadena, texto como cadena, línea de texto como cadena, posLat como entero, posLong como entero

3. Necesitamos inicializar la variable myFile con la ruta completa y el nombre del archivo.

myFile = "C: \ prueba \ coordenadas-geográficas.txt"

o

utilice el método GetOpenFilename del objeto Aplicación para mostrar el cuadro de diálogo Abrir estándar y seleccione el archivo (sin abrir el archivo).

myFile = Application.GetOpenFilename ()

Nota: la parte vacía entre corchetes significa que no le damos nada a Excel VBA como entrada. Coloque el cursor en GetOpenFilename en el Editor de Visual Basic y haga clic en F1 para obtener ayuda sobre los argumentos.

4. Agregue la siguiente línea de código:

Abra myFile para la entrada como n. ° 1

Nota: esta declaración permite leer el archivo. Podemos referirnos al archivo como # 1 durante el resto de nuestro código.

5. Agregue las siguientes líneas de código:

Hacer hasta EOF (1)
Entrada de línea n. ° 1, línea de texto
text = texto y línea de texto
Lazo

Nota: hasta el final del archivo (EOF), Excel VBA lee una sola línea del archivo y la asigna a la línea de texto. Usamos el operador & para concatenar (unir) todas las líneas individuales y almacenarlas en el texto variable.

6. Cierre el archivo.

Cerrar # 1

7. A continuación, buscamos la posición de las palabras latitud y longitud en el texto variable. Usamos la función Instr.

posLat = InStr (texto, "latitud")
posLong = InStr (texto, "longitud")

8. Usamos estas posiciones y la función Mid para extraer las coordenadas del texto variable y escribir las coordenadas en la celda A1 y la celda A2.

Rango ("A1"). Valor = Medio (texto, posLat + 10, 5)
Rango ("A2"). Valor = Medio (texto, posLong + 11, 5)

9. Pruebe el programa.

Resultado:

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave