Vou escrever uma função em VBA, bem "bobinha".
Primeiro, vamos "criar" um problema para resolver. Vamos supor que temos que ler um arquivo de texto e exibir cada linha lida, abaixo:
Note que a primeira linha e a última são diferentes das demais, elas se chamam HEADER e TRAILER respectivamente, elas identificam o início e op fim de um arquivo a ser lido (geralmente são opcionais). A primeira coluna identifica o tipo de dado do registro, neste caso 0 é o header, 1 são os dados e 2 o trailer. O header informa ainda a data e o horário do arquivo.
Primeiro criamos uma sub LerArquivo:
Vamos precisar de uma variável do tipo string para guardarmos as linhas coforma forem lidas.
Antes de ler de fato um arquivo é necessário abrir o arquivo, em VBA a função que faz isso é a Open, mas este comando não "anda" sozinho, é necessário informar o que será feito com esse arquivo, no nosso caso iremos apenas ler, portanto o devemos completar o comando com For Input As #N, onde N é um número que identifica os arquivos abertos.
Agora a leitura do arquivo propriamente dito, devemos usar um loop para fazer a leitura e exibir cada linha, enquanto o arquivo não chega ao fim.
Não esqueça que depois de abrir e usar um arquivo é necessário fechá-lo:
Veja o código completo como deve ficar:
Até a próxima... se a terra não tremer de novo!
NMHO.
Sem problema, sem programa.
Primeiro, vamos "criar" um problema para resolver. Vamos supor que temos que ler um arquivo de texto e exibir cada linha lida, abaixo:
0200804131200
10011122233311
11044455566622
10077788899933
2200800039999
Note que a primeira linha e a última são diferentes das demais, elas se chamam HEADER e TRAILER respectivamente, elas identificam o início e op fim de um arquivo a ser lido (geralmente são opcionais). A primeira coluna identifica o tipo de dado do registro, neste caso 0 é o header, 1 são os dados e 2 o trailer. O header informa ainda a data e o horário do arquivo.
O objetivo desse código é apenas ler o arquivo, o header e o trailler serão usados em outro programa, mas isso fica para outro post.
Mãos a obra
Primeiro criamos uma sub LerArquivo:
Sub LerArquivo()
End Sub
Só para constar a diferença entre uma SUB e FUNCTION, é que a sub não nunca retorna valor, já uma fuction pode ou não retornar algum valor.
Vamos precisar de uma variável do tipo string para guardarmos as linhas coforma forem lidas.
Dim lin As String
Antes de ler de fato um arquivo é necessário abrir o arquivo, em VBA a função que faz isso é a Open, mas este comando não "anda" sozinho, é necessário informar o que será feito com esse arquivo, no nosso caso iremos apenas ler, portanto o devemos completar o comando com For Input As #N, onde N é um número que identifica os arquivos abertos.
Open "D:\Temp\Arquivo.txt" For Input As #1
Agora a leitura do arquivo propriamente dito, devemos usar um loop para fazer a leitura e exibir cada linha, enquanto o arquivo não chega ao fim.
Do While Not EOF(1)
Line Input #1, lin
Debug.Print lin
Loop
Não esqueça que depois de abrir e usar um arquivo é necessário fechá-lo:
Close #1
Veja o código completo como deve ficar:
Até a próxima... se a terra não tremer de novo!
NMHO.