vb open函数input只读取第一行

Open"E:/翼风工具提供用来储存信息的文档,请勿删除.txt"ForInputAs#1Input#1,bg=InStr(b,"不再显示开始")Command1.Cap... Open "E:/翼风工具提供用来储存信息的文档,请勿删除.txt" For Input As #1
Input #1, b
g = InStr(b, "不再显示开始")
Command1.Caption = b
如上代码,
程序运行结果不正常,我故意把b的值输入到了command1上
结果input只读取了文件的第一行,
怎么解决?
展开
 我来答
沙慧月03
2011-01-25 · TA获得超过2158个赞
知道大有可为答主
回答量:2717
采纳率:100%
帮助的人:3855万
展开全部
你要读取全部吗?
Open "E:/翼风工具提供用来储存信息的文档,请勿删除.txt" For Input As #1
do until eof(1)
line Input #1, b
a=a & b
loop
g = InStr(a, "不再显示开始")
Command1.Caption = a
nlswlc
2011-01-26 · TA获得超过2068个赞
知道小有建树答主
回答量:779
采纳率:100%
帮助的人:676万
展开全部
Mid 函数

从一字串传回特定数量字元所构成的Variant (String) 。

语法

Mid(string, start[, length])

Mid 函数的语法具有以下的指名引数:

单元 说明
string 必要引数。传回字元之来源字串运算式。如果 string 所含为 Null,将传回Null。
start 必要引数;为 Long。欲传回字元之开头位置。如果 start 超过 string 的范围,Mid 传回零长度字串 ("")。
length 选择性引数;为 Variant (Long)。即传回之字元数。如果省略或 length 超过可以传回的字元数,(包括 start 处的字元) ,那将传回从 start 到尾端的所有字元。

请注意

欲知 string 的字元数,可用Len 函数。

附注 使用 MidB 函数可得字串之位元组数,如同在双位元组字元集语言中依样。。其引数所重的非字元数,而是位元组数。对於使用 MidB的代码,请参阅中的第二个。

Mid 函数范例

第一个范例使用 Mid 函数来得到某个字串中的数个字元。

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' 建立一个字串。
FirstWord = Mid(MyString, 1, 3) ' 传回 "Mid"。
LastWord = Mid(MyString, 14, 4) ' 传回 "Demo"。
MidWords = Mid(MyString, 5) ' 传回 "Funcion Demo"。

第二个范例使用 MidB和使用者定义的函数 (MidMbcs) 也传回某个字串中的字元。它们之间的不同之处在於输入字串是ANSI 且长度以位元为单位。

Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)
End Function

Dim MyString
MyString = "AbCdEfG"
' "A", "C", "E", 和 "G" 是DBCS且 "b", "d",
' 和 "f" 是 SBCS。
MyNewString = Mid(MyString, 3, 4)
' 传回 ""CdEf"
MyNewString = MidB(MyString, 3, 4)
' 传回 ""bC"
MyNewString = MidMbcs(MyString, 3, 4)
' 传回 "bCd"

Input # 陈述式

从已开启的循序档中读取资料,并将资料指定给变数。

语法

Input #filenumber, varlist

Input # 陈述式的语法具有以下几个单元:

单元 说明
filenumber 必要的引数。任何正确的档案代码。
varlist 必要的引数。以逗号分隔的数个变数,从档案中读入的资料将会依序放入这些变数之内。上述的变数不可以是一个阵列或是物件变数,不过可以是一个描述阵列元件的变数或是一个使用者自订型态的变数。

请注意

使用 Input # 陈述式来读取资料时,则通常会以 Write # 陈述式来写入资料。Input # 陈述式仅能使用於以 Input 或 Binary 模式开启的档案。

在读取资料时,标准的字串或数值资料会直接指定给变数,不会做任何转换。下表说明如何处理其它型态的输入资料:

资料 指定给变数的值
分隔逗号或空白列 Empty
#NULL# Null
#TRUE# or #FALSE# True 或 False
#yyyy-mm-dd hh:mm:ss# 以运算式所表示的日期和时间。
#ERROR errornumber# errornumber(此变数是一个 Variant,用来标示出错误)

输入资料中的双引号符号(" ")将会被忽略。

档案中资料项目的顺序必须与 varlist 中的变数顺序相同,而且其相对变数的资料型态必须符合。如果所指定的变数属於数字型态,而档案中的资料不是数值型态,则此变数的值会被指定为零。

在读取资料项目时,如果已经到达档案的尾端,则会停止读取资料,并且会产生一个错误。

附注 为了使 Input # 陈述式能正确地将档案的资料读入变数中, 则在将资料写入档案时,一般会使用 Write # 陈述式来代替 Print # 陈述式。使用 Write # 陈述式可确保个别的资料栏位被正确地隔开。

Input # 陈述式范例

本范例使用 Input # 陈述式将档案内的资料读入至两个变数中。范例中本范例假设 TESTFILE 内含数行以 Write # 陈述式写入之资料;也就是说,每一行资料中的字串部份都是用双引号括起来,而数字皆以逗号隔开,例如,("Hello", 234)。

Dim MyString, MyNumber
Open "TESTFILE" For Input As #1 ' 开启输入档案。
Do While Not EOF(1) ' 执行回圈直到档尾为止。
Input #1, MyString, MyNumber ' 将资料读入两个变数中。
Debug.Print MyString, MyNumber ' 将资料在「立即」视窗中显示。
Loop
Close #1 ' 关闭档案。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式