答案:VB不是这样处理错误的
一般是用:
on error goto zzz
.......
Exit sub
zzz:
这种结构
其他:Error必须是一个Boolean型的变量。 问题出在Error是不是定义,或Error是那个对象的错误,如果已经定义,那么:
If Error = 0 Then
上面是判断定义对象是否没有发生错误。
但是,在VB中一般使用:
On Error Resume Next '发生错误时终止
或
On Error GoTo abc
'这里是没有错误时执行的代码
Exit Sub
abc:
'这里是产生错误后的代码,一般放在过程的最底端 Error 是函数,
格式:
Error [(errornumber)]
errornumber 是运行时错误序号,该函数可以返回对应嵯峨序号的文本说明
例如:
Print Error(13)
显示“类型不匹配”
如果缺省errornumber,返回另长度字符串
所以Error的结果是另长度字符串,而另长度字符串不可能转换成布尔值。
而语句
If <条件> Then
...
end if
中,<条件>的结果必须是布尔值,即:
If True Then
...
end if
或
If False Then
...
end if
所以这行代码是错误的!!! if Err then
上一个:请问用vba给单元格赋值后,如果内容显示不完,怎么样自动显示在下一行
下一个:我想用vb点击某个程序的关闭按钮