2012-12-24 56 views
0

它下面的错误处理程序不工作,仍然抛出一个异常,“IsError”变量未定义。VBscript抛出一个异常说“IsError”是未定义的变量

If not IsError(objExcel1.Application.Match(ParentID, ob3.Columns(1), 0)) Then  
    ParentMatchRowNum = objExcel1.Application.Match(ParentID, ob3.Columns(1), 0) 
    Else 
    '-- do something 
    End if 

快照

enter image description here

能否请你帮我在这里,如何解决?

谢谢,

回答

2

从我可以告诉IsError不是VBscript函数。支持证据:VBScript FunctionsUsing VBScript Functions。你会注意到缺少IsError

相反,你需要做错误诱捕。像这样的东西应该适合。

On Error Resume Next 
ParentMatchRowNum = objExcel1.Application.Match(ParentID, ob3.Columns(1), 0) 
If err then 
    err.clear 
    'Do something 
end if 
on Error Goto 0 
+0

'on Error Goto 0'它会干什么? –

+0

'On Error Goto 0'对'On Error Resume Next'进行计数,并将脚本恢复为默认行为。 I.E.任何运行时错误的错误消息。 –

+0

我是否需要将代码放置在每个可能的例外区域,或者我可以在全局范围内为所有危险区域定义代码? –