Compartilhar via


Instrução Input #

Lê dados de um ficheiro sequencial aberto e atribui os dados a variáveis.

Sintaxe

Entrada#filenumber, varlist

A sintaxe da instrução N.º de Entrada tem as seguintes partes:

Sair Descrição
númerodoarquivo Obrigatório. Qualquer número de arquivo válido.
lista de opções Obrigatório. A lista delimitada por vírgulas de variáveis que são valores atribuídos lidas a partir do ficheiro não pode ser uma matriz ou uma variável de objeto. No entanto, podem ser utilizadas variáveis que descrevam um elemento de uma matriz ou tipo definido pelo utilizador .

Comentários

Normalmente, os dados lidos com Input # são escritos num ficheiro com Escrita #. Utilize esta instrução apenas com ficheiros abertos no modo De Entrada ou Binário . Quando lido, a cadeia padrão ou os dados numéricos são atribuídos a variáveis sem modificação.

A tabela seguinte ilustra como os outros dados de entrada são tratados:

Data Valor atribuído à variável
Delimitar vírgula ou linha em branco Vazia
#NULL# Null
#TRUE# ou #FALSE# True ou False
# aaaa-mm-dd hh:mm:ss # A data e/ou hora representadas pela expressão
#ERROR número de erro # errornumber (a variável é uma Variante marcada como um erro)

As aspas duplas () nos dados de entrada são ignoradas.

Observação

Não deve escrever cadeias que contenham aspas incorporadas (por exemplo, "1,2""X") para utilização com a instrução Input # ; O n.º de entrada analisa esta cadeia como duas cadeias completas e separadas.

Os itens de dados num ficheiro têm de aparecer pela mesma ordem que as variáveis na lista de opções e corresponder às variáveis do mesmo tipo de dados. Se uma variável for numérica e os dados não forem numéricos, é atribuído um valor de zero à variável .

Se chegar ao fim do ficheiro enquanto estiver a introduzir um item de dados, a entrada é terminada e ocorre um erro.

Observação

Para conseguir ler corretamente dados de um ficheiro em variáveis com a instrução Input #, utilize a instrução Write # em vez da instrução Print # para escrever os dados nos ficheiros. A utilização do N.º de Escrita garante que cada campo de dados separado é devidamente delimitado.

Exemplo

Este exemplo utiliza a instrução Input # para ler dados de um ficheiro em duas variáveis. Este exemplo pressupõe que TESTFILE se trata de um ficheiro com algumas linhas de dados escritas no mesmo através da instrução Write # ( ou seja, cada linha contém uma cadeia de carateres em aspas e um número separado por uma vírgula), por exemplo, "Hello", 234.

Dim MyString, MyNumber 
Open "TESTFILE" For Input As #1    ' Open file for input. 
Do While Not EOF(1)    ' Loop until end of file. 
    Input #1, MyString, MyNumber    ' Read data into two variables. 
    Debug.Print MyString, MyNumber    ' Print data to the Immediate window. 
Loop 
Close #1    ' Close file. 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.