原因是过程内的代码出现在模块代码位置。
在过程外无效
该语句必须发生在子过程、函数过程或属性过程(Property Get、Property Let 和
Property Set)内部。这个错误的起因与解决方法如下所示:
一个可执行的语句,如 Static 或 ReDim,出现在模块级别中。
在模块级中 Static 是不需要的,因为所有的模块级变量都是静态的。在模块级中用 Dim 来代替
ReDim。想要在模块级中创建动态数组,请用
Dim 加空括弧来声明它。
注意 在模块级只能使用注释与声明性语句,例如
Const、Declare、Deftype、Dim、Option Base、Option
Compare、Option Explicit、Option
Private、Private、Public 和
Type。子过程、函数过程和属性过程语句发生在它们的过程体之外,但在过程内声明。
例如以下代码中的Form1.Show本应在MDIForm_Load过程中出现而出现不应出现的窗体声明变量处,这就必然报错。
Option Explicit
Form1.Show
Private Sub MDIForm_Load()
'Form1.Show
End Sub
把你的这些语句放到一个过程里去执行,可以如下:
Private Sub Form_Load() '程序运行时执行。
Dim a As Byte
Open "D:\学习\VB实验10lwz\f1.txt" For Binary As #1
Open "D:\学习\VB实验10lwz\f2.txt" For Binary As #2
Open "D:\学习\VB实验10lwz\f3.txt" For Binary As #3
Do While Not EOF(1)
Get 1, , a
Put 3, , a
Loop
Do While Not EOF(2)
Get 2, , a
Put 3, , a
Loop
Close #1, #2, #3
End Sub
或者:
Private Sub Command1_Click() ’单击按钮时执行
Dim a As Byte
Open "D:\学习\VB实验10lwz\f1.txt" For Binary As #1
Open "D:\学习\VB实验10lwz\f2.txt" For Binary As #2
Open "D:\学习\VB实验10lwz\f3.txt" For Binary As #3
Do While Not EOF(1)
Get 1, , a
Put 3, , a
Loop
Do While Not EOF(2)
Get 2, , a
Put 3, , a
Loop
Close #1, #2, #3
End Sub
Close #1, #2, #3
改成:
Close #1
Close #2
Close #3
检查有没有这个文件:“D:\学习\VB实验10lwz\f1.txt “,另外VB实验10lwz 这个目录中的“|”是怎么回事。
是不是没有这个TXT文本