解决方法
这是一个稍微恶作剧的方式,因为它依赖于设置“在错误恢复下一步”,但你可以做这样的事情:
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的调用将生成异常.然后,您可以检查引用是否按预期设置.