Vb问题(无效外部过程)

2024年11月19日 08:30
有5个网友回答
网友(1):

原因是过程内的代码出现在模块代码位置。

在过程外无效

该语句必须发生在子过程、函数过程或属性过程(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

网友(2):

把你的这些语句放到一个过程里去执行,可以如下:
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

网友(3):

Close #1, #2, #3
改成:
Close #1
Close #2
Close #3

网友(4):

检查有没有这个文件:“D:\学习\VB实验10lwz\f1.txt “,另外VB实验10lwz 这个目录中的“|”是怎么回事。

网友(5):

是不是没有这个TXT文本