Ler dados de um arquivo de texto usando Excel VBA - Macros fáceis do Excel

Índice

Abaixo, veremos um programa em Excel VBA que lê dados de um arquivo de texto. Este arquivo contém algumas coordenadas geográficas que queremos importar para o Excel.

Situação:

1. Primeiro, baixe o arquivo de texto e adicione-o a "C: \ test \"

Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:

2. Declaramos quatro variáveis. myFile do tipo String, texto do tipo String, linha de texto do tipo String, posLat do tipo Integer e posLong do tipo Integer.

Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer

3. Precisamos inicializar a variável myFile com o caminho completo e o nome do arquivo.

meuArquivo = "C: \ teste \ coordenadas geográficas.txt"

ou

use o método GetOpenFilename do objeto Aplicativo para exibir a caixa de diálogo Abrir padrão e selecione o arquivo (sem realmente abrir o arquivo).

myFile = Application.GetOpenFilename ()

Observação: a parte vazia entre colchetes significa que não fornecemos ao Excel VBA nada como entrada. Coloque o cursor em GetOpenFilename no Editor do Visual Basic e clique em F1 para obter ajuda sobre os argumentos.

4. Adicione a seguinte linha de código:

Abra myFile para entrada como # 1

Nota: esta declaração permite que o arquivo seja lido. Podemos nos referir ao arquivo como # 1 durante o resto do nosso código.

5. Adicione as seguintes linhas de código:

Faça Até EOF (1)
Linha de entrada # 1, linha de texto
texto = texto e linha de texto
Ciclo

Nota: até o final do arquivo (EOF), o Excel VBA lê uma única linha do arquivo e a atribui à linha de texto. Usamos o operador & para concatenar (juntar) todas as linhas únicas e armazená-las no texto da variável.

6. Feche o arquivo.

Fechar # 1

7. A seguir, procuramos a posição das palavras latitude e longitude no texto da variável. Usamos a função Instr.

posLat = InStr (texto, "latitude")
posLong = InStr (texto, "longitude")

8. Usamos essas posições e a função Mid para extrair as coordenadas do texto da variável e escrever as coordenadas na célula A1 e na célula A2.

Intervalo ("A1"). Valor = Médio (texto, posLat + 10, 5)
Intervalo ("A2"). Valor = Médio (texto, posLong + 11, 5)

9. Teste o programa.

Resultado:

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave