A instrução `Input #` no VBA é usada para ler dados de um arquivo aberto. É importante que o arquivo tenha sido previamente aberto em um modo que permita a leitura, geralmente usando a instrução `Open` com o parâmetro `”Input”`. Aqui está um guia básico sobre como usá-la:
Passos para usar a instrução `Input #`
- Abrir o Arquivo:
Primeiro, você precisa abrir o arquivo que deseja ler usando a instrução `Open`. Certifique-se de especificar o caminho correto do arquivo e o modo de operação como `”Input”`.
Dim fileNumber As Integer
fileNumber = FreeFile ' Obtém um número de arquivo livre
Open "C:caminhoparaseuarquivo.txt" For Input As #fileNumber
- Ler Dados com `Input #`:
Use a instrução `Input #` para ler os dados do arquivo. Você precisa especificar o número do arquivo e as variáveis que armazenarão os dados lidos. Cada chamada para `Input #` lê um registro (geralmente uma linha) do arquivo.
Dim myVar1 As String
Dim myVar2 As Integer
Dim myVar3 As Double
' Supondo que cada linha do arquivo tenha dados correspondentes às variáveis
Input #fileNumber, myVar1, myVar2, myVar3
- Fechar o Arquivo:
Após terminar a operação de leitura, é uma boa prática fechar o arquivo para liberar o recurso do sistema.
Close #fileNumber
Exemplo Completo
Aqui está um exemplo completo de como ler um arquivo texto linha por linha:
Sub LerArquivo()
Dim fileNumber As Integer
Dim linha As String
' Obtém um número de arquivo livre
fileNumber = FreeFile
' Abre o arquivo para leitura
Open "C:caminhoparaseuarquivo.txt" For Input As #fileNumber
' Lê o arquivo linha por linha
Do While Not EOF(fileNumber)
Line Input #fileNumber, linha
Debug.Print linha ' Mostra a linha no console de depuração
Loop
' Fecha o arquivo
Close #fileNumber
End Sub
Observações
- O uso de `Line Input #` é comum para ler linhas completas em vez de campos delimitados.
- A função `EOF(fileNumber)` verifica se o final do arquivo foi alcançado.
- As variáveis usadas devem ser compatíveis com o tipo de dados esperado no arquivo.
Usar a instrução `Input #` dessa maneira ajuda a importar dados de arquivos sem a necessidade de interação manual, facilitando a automação de processos em VBA.