我(不幸的是)在 Excel 2000 VBA 中开发应用程序。我相信我已经发现在自定义类属性、函数或子调试中引发的任何错误就好像在调用该属性的 VBA 代码中引发错误一样。也就是说,VBE 调试器不会将我带到 Class 属性中发生错误的位置,而是将我带到第一次输入属性的位置(例如,从 Module Sub 或 Function)。这使得开发除最浅的 OO Excel 2000 VBA 代码,因为我必须逐行遍历每个 Class 方法以发现导致错误的指令。
我是否遗漏了什么,或者这是我必须在 Excel 2000 中处理的已知错误?这个问题是在 2003 年还是 2007 年解决的?
示例代码:
'''''''''''''''
'In Module1:
Public Sub TestSub1()
Dim testClass As Class1
Dim testVariant As Variant
Set testClass = New Class1
testVariant = testClass.Property1 'Debugger takes me here...
End Sub
''''''''''''''
' In Class1
Property Get Property1() As Variant
Err.Raise 666, , "Excel 2000 VBA Sux!" 'But error is actually thrown here.
End Property