Input # 语句

从打开的顺序文件中读取数据并将此数据分配给变量

语法

输入#filenumber、varlist

Input # 语句语法包含以下部分:

Part 说明
filenumber 必填。 任何有效的文件编号
varlist 必填。 以逗号分隔的变量列表,这些变量是从文件读取的值 ,不能是 数组对象变量。 但是,可以使用描述数组或用户定义类型的元素的变量。

备注

使用 输入 # 读取的数据通常写入具有 Write #的文件中。 仅将此语句与在 InputBinary 模式中打开的文件结合使用。 在读取时,会将标准字符串或数值数据分配给变量而不进行修改。

下表演示了处理其他输入数据的方式:

Data 赋给变量的值
分隔逗号或空行 为空
#NULL# Null
#TRUE# 或 #FALSE# TrueFalse
# yyyy-mm-dd hh:mm:ss # 表达式表示的日期和/或时间
#ERROR errornumber # errornumber(变量为标记为错误的 Variant

输入数据中的双引号 () 将被忽略。

注意

不应编写包含嵌入引号的字符串 (例如, "1,2""X") 与 Input # 语句一起使用; 输入 # 将此字符串分析为两个完整和单独的字符串。

文件中的数据项必须按照与 varlist 中的变量相同的顺序出现且匹配相同的数据类型的变量。 如果变量为数值而数据不为数值,则将值 0 赋给变量。

如果在输入数据项时到达文件的末尾,则输入将被终止并且会发生错误。

注意

若要能够使用 Input #将文件中的数据正确读取到变量中,请使用 Write # 语句而不是 Print # 语句将数据写入文件。 使用 写入 # 可确保正确分隔每个单独的数据字段。

示例

此示例使用 Input # 语句将文件中的数据读取到两个变量中。 此示例假定 TESTFILE 是一个文件,其中包含使用 Write # 语句写入的几行数据;也就是说,每行包含一个引号中的字符串和一个用逗号分隔的数字,例如 "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. 

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。