Input# 语句

从打开的顺序文件读取数据。

语法:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

参数:

FileNumber:包含要读取的数据的文件编号。该文件必须使用含有 INPUT 关键字的 Open 语句打开。

var:数字或字符串变量,用于存放从打开的文件中读取的值。

Input# 语句从打开的文件中读取数值或字符串,并将这些数据指定到一个或多个变量。读取数字变量的过程在遇到第一个回车 (Asc=13)、换行 (Asc=10)、空格或逗号时停止,而读取字符串变量的过程在遇到第一个回车 (Asc=13)、换行 (Asc=10) 或逗号时停止。

在打开的文件中,数据和数据类型的出现顺序必须与 "var" 参数中变量的传送顺序相同。如果将非数字类型的值指定给某个数字变量,"var" 将被指定为 "0"。

不能将逗号分隔的记录指定给字符串变量。文件中的引号 (") 也将被忽略。如果要从文件中读取这些字符,可以使用 Line Input# 语句逐行读取纯文本文件(只包含可打印字符的文件)。

如果在读取某个数据元素时到达了文件末尾,就会出错,进程也会异常中止。

示例:

Sub ExampleWorkWithAFile

Dim iCount As Integer

Dim sName As String

Dim sValue As Integer

Dim sFileName As String

 

sFileName = "c:\data.txt"

iCount = Freefile

 

' 写入数据(稍后通过输入读取)到文件

Open sFileName For Output As iCount

sName = "Hamburg"

sValue = 200

Write #iCount, sName, sValue

sName = "New York"

sValue = 300

Write #iCount, sName, sValue

sName = "Miami"

sValue = 459

Write #iCount, sName, sValue

Close #iCount

 

iCount = Freefile

' 通过输入读取数据文件

Open sFileName For Input As iCount

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Close #iCount

End Sub