我创建了一个名为BitArray的自定义类。 BitArray的一个方法Append将BitArray作为参数。以下是Append方法的声明:
Public Function Append(ByVal newBits As BitArray)
(我还试过传递newBits ByRef无效)
在我的代码中,我有类似的东西:
Dim baBits1 As BitArray
Dim baBits2 As BitArray
Set baBits1 = New BitArray
Set baBits2 = New BitArray
baBits1.Append (baBits2)
最后一行抛出438错误。奇怪的是,如果我拉出Append的代码并直接执行它,它就可以了。因此,Append中的逻辑或语法没有任何内在错误。 VBA不喜欢可以接受自己的类作为参数的类方法吗?
答案 0 :(得分:0)
VBA适用于接受自己的类作为参数的类方法。 传递对象变量时,ByVal和ByRef没有区别 - 无论如何,它们总是被传递给ByRef。
尝试设置断点,然后使用F8逐行逐步查看代码,以查看错误的位置。