Instrução Input #Input # statement

Lê dados de um arquivo sequencial aberto e atribui os dados a variáveis.Reads data from an open sequential file and assigns the data to variables.

SintaxeSyntax

Entrada # FileNumber, VarlistInput #filenumber, varlist


A sintaxe da instrução Input # tem estas partes:The Input # statement syntax has these parts:

PartePart DescriçãoDescription
númerodoarquivofilenumber Obrigatório.Required. Qualquer número de arquivo válido.Any valid file number.
varlistvarlist Obrigatório.Required. Lista delimitada por vírgulas de variáveis que são atribuídas valores lidos do arquivo — não podem ser uma matriz ou uma variável de objeto.Comma-delimited list of variables that are assigned values read from the file—can't be an array or object variable. No entanto, as variáveis que descrevem um elemento de uma matriz ou tipo definido pelo usuário podem ser usadas.However, variables that describe an element of an array or user-defined type may be used.

ComentáriosRemarks

Os dados lidos com Input # geralmente são gravados em um arquivo com Write #.Data read with Input # is usually written to a file with Write #. Use essa instrução somente com arquivos abertos no modo de entrada ou binário .Use this statement only with files opened in Input or Binary mode. Quando lidos, dados numéricos ou cadeias de caracteres padrão são atribuídos a variáveis sem modificação.When read, standard string or numeric data is assigned to variables without modification.

A tabela a seguir ilustra como outros dados de entrada são tratados:The following table illustrates how other input data is treated:

DataData Valor atribuído à variávelValue assigned to variable
Vírgula ou linha em branco de delimitaçãoDelimiting comma or blank line VaziaEmpty
#NULL ##NULL# NullNull
#TRUE # ou #FALSE ##TRUE# or #FALSE# True ou FalseTrue or False
# aaaa-mm-dd hh: mm: SS ## yyyy-mm-dd hh:mm:ss # A data e/ou a hora representada pela expressãoThe date and/or time represented by the expression
#ERROR ErrorNumber ##ERROR errornumber # ErrorNumber (Variable é uma Variant marcada como um erro)errornumber (variable is a Variant tagged as an error)

Aspas duplas () em dados de entrada são ignoradas.Double quotation marks () within input data are ignored.

Observação

Você não deve gravar cadeias de caracteres que contêm aspas incorporadas ( "1,2""X"por exemplo,) para uso com a instrução Input # ; Input # analisa essa cadeia de caracteres como duas cadeias de caracteres completas e separadas.You should not write strings that contain embedded quotation marks (for example, "1,2""X") for use with the Input # statement; Input # parses this string as two complete and separate strings.

Os itens de dados em um arquivo devem aparecer na mesma ordem que as variáveis nas variáveis Varlist e Match do mesmo tipo de dados.Data items in a file must appear in the same order as the variables in varlist and match variables of the same data type. Se uma variável for numérica e os dados não forem numéricos, um valor igual a zero será atribuído à variável.If a variable is numeric and the data is not numeric, a value of zero is assigned to the variable.

Se você chegar ao final do arquivo enquanto estiver inserindo um item de dados, a entrada será terminada e ocorrerá um erro.If you reach the end of the file while you are inputting a data item, the input is terminated and an error occurs.

Observação

Para poder ler corretamente os dados de um arquivo em variáveis usando o Input #, use a instrução Write # em vez da instrução Print # para gravar os dados nos arquivos.To be able to correctly read data from a file into variables by using Input #, use the Write # statement instead of the Print # statement to write the data to the files. O uso de Write # garante que cada campo de dados separado seja corretamente delimitado.Using Write # ensures that each separate data field is properly delimited.

ExemploExample

Este exemplo usa a instrução Input # para ler dados de um arquivo em duas variáveis.This example uses the Input # statement to read data from a file into two variables. Este exemplo pressupõe que TESTFILE é um arquivo com algumas linhas de dados gravadas nele usando a instrução Write # ; ou seja, cada linha contém uma cadeia de caracteres em Cotações e um número separado por uma vírgula, por exemplo "Hello", 234,.This example assumes that TESTFILE is a file with a few lines of data written to it by using the Write # statement; that is, each line contains a string in quotations and a number separated by a comma, for example, "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émSee also

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.