vb中输入超出文件尾是什么意思?? 怎么解决??
PrivateSubcjlr_Click()Text1.Text=""OpenApp.Path+"\xscj.xlsx"ForInputAs#1Text1.Text=Te...
Private Sub cjlr_Click()Text1.Text = ""Open App.Path + "\xscj.xlsx" For Input As #1Text1.Text = Text1.Text & "学号" & Space(5) & "姓名" & Space(5) & "英语" & Space(5) & "数学" & Space(4) & "计算机" & Space(3) & "历史" & Space(3) & "体育" & vbCrLfFor i = 1 To 21 Input #1, xh(i), xm(i), yy(i), sx(i), jsj(i), ls(i), ty(i) Text1.Text = Text1.Text & xh(i) & Space(5) & xm(i) & Space(5) & yy(i) & Space(7) & sx(i) & Space(6) & jsj(i) & Space(6) & ls(i) & Space(5) & ty(i) & vbCrLfNext iClose #1End Sub
展开
2个回答
展开全部
你想读取文件?还是将数据保存到文件,将数据保存到文件你应该用output。这个是不会超出文件尾的。但是你要是从文件中读取数据的话。由于文件的长度肯定是有限的,所以有可能回超出文件尾。若是这样,你可以加入 on error goto 或者on error resume next 语句。就不会发生错误了。
追问
读取数据 语句应该加在什么位置
追答
说实话,你的代码我没太看懂,呵呵,因为我不太习惯这样子的。我给你提供一个方式吧。
就是把文件模式设置文随机文件,这种方式的话相对会灵活许多。
dim a as string
open filename for random as #1
put #1,1,a
close #1
put语句中#1不多说,是文件号,第二个1 表示数据的记录号,第一个数据就是1,第二个数据就是2,
而且数据1和数据2的类型可以不同的。a为变量名
put是向随机文件中写,get是读取。
至于读取数据的语句加到哪里的话就自己斟酌了。什么时候用到这个数据就加到之前,
我是习惯在程序启动时候读取所有数据到变量。在变量更改的时候写出变量到文件。
顺便说一句,随机文件不需要从第一个变量开始读取的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询