解决方法
这是一个稍微恶作剧的方式,因为它依赖于设置“在错误恢复下一步”,但你可以做这样的事情:
- On Error Resume Next
- Dim objRef1,objRef2
- Set objRef1 = GetRef("DoStuff1")
- If objRef1 Is Nothing Then
- Call objRef1
- Else
- MsgBox "DoStuff1 is not defined!"
- End If
- Set objRef2 = GetRef("DoStuff2")
- If objRef2 Is Nothing Then
- MsgBox "DoStuff2 is not defined!"
- Else
- Call objRef2
- End If
- Sub DoStuff1
- MsgBox "DoStuff1!"
- End Sub
如果您尝试获取指针的子或函数不存在(如DoStuff2的情况),则GetRef的调用将生成异常.然后,您可以检查引用是否按预期设置.