Оператор Input #Input # statement

Читает данные из открытого последовательного файла и назначает эти данные переменным.Reads data from an open sequential file and assigns the data to variables.

СинтаксисSyntax

Входной # FileNumber, варлистInput #filenumber, varlist


Синтаксис оператора Input # состоит из таких частей:The Input # statement syntax has these parts:

ЧастьPart ОписаниеDescription
filenumberfilenumber Обязательно указывать.Required. Любой допустимый номер файла.Any valid file number.
варлистvarlist Обязательный.Required. Разделенный запятыми список переменных, которым назначены значения, считанные из файла, не могут быть массивом или переменной объекта.Comma-delimited list of variables that are assigned values read from the file—can't be an array or object variable. Но можно использовать переменные, описывающие элемент массива, или пользовательский тип.However, variables that describe an element of an array or user-defined type may be used.

ПримечанияRemarks

Данные, прочитанные с помощью оператора input # , обычно записываются в файл с записью #.Data read with Input # is usually written to a file with Write #. Используйте этот оператор только с файлами, открытыми в режиме Input или Binary.Use this statement only with files opened in Input or Binary mode. При прочтении стандартные строковые или числовые данные назначаются переменным без изменения.When read, standard string or numeric data is assigned to variables without modification.

В следующей таблице показано, как обрабатываются другие входные данные:The following table illustrates how other input data is treated:

ДанныеData Значение, присваиваемое переменнойValue assigned to variable
Запятая-разделитель или пустая строкаDelimiting comma or blank line EmptyEmpty
#NULL ##NULL# NullNull
#TRUE# или #FALSE##TRUE# or #FALSE# True (Истина) или False (Ложь)True or False
# гггг мм дд чч: мм: СС ## yyyy-mm-dd hh:mm:ss # Дата и/или время, представленные выражениемThe date and/or time represented by the expression
#ERROR ErrorNumber ##ERROR errornumber # errornumber (переменная — это вариант, помеченный как ошибка)errornumber (variable is a Variant tagged as an error)

Двойные кавычки () во входных данных игнорируются.Double quotation marks () within input data are ignored.

Примечание

Не следует записывать строки, содержащие встроенные кавычки (например, "1,2""X"), для использования с оператором input # ; Input # анализирует эту строку как две полные и разделенные строки.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.

Элементы данных в файле должны быть указаны в том же порядке, что и переменные в списке varlist, и соответствовать переменным такого же типа данных.Data items in a file must appear in the same order as the variables in varlist and match variables of the same data type. Если переменная числовая, а данные нечисловые, этой переменной присваивается нулевое значение.If a variable is numeric and the data is not numeric, a value of zero is assigned to the variable.

Если при вводе элемента данных достигнут конец файла, ввод прерывается и возникает ошибка.If you reach the end of the file while you are inputting a data item, the input is terminated and an error occurs.

Примечание

Для правильного считывания данных из файла в переменные с помощью оператора input # используйте оператор Write # , а не оператор Print # для записи данных в файлы.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. Использование Write # обеспечивает правильное разделение каждого отдельного поля данных.Using Write # ensures that each separate data field is properly delimited.

ПримерExample

В этом примере используется оператор input # для считывания данных из файла в две переменные.This example uses the Input # statement to read data from a file into two variables. В этом примере предполагается, что TESTFILE это файл с несколькими строками данных, записываемых в него с помощью оператора Write # ; то есть каждая строка содержит строку в кавычках и номер, разделенный запятыми, например "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. 

См. такжеSee also

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.