2016-07-16 103 views
0

我创建了一个名为BitArray的自定义类。 BitArray的方法之一Append将BitArray作为参数。下面是Append方法声明:VBA(Office 2010)自定义类方法抛出“对象不支持此属性或方法”错误

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不喜欢可以接受自己的类作为参数的类方法吗?

+3

正确的调用是'baBits1.Append baBits2'或'Call baBits1.Append(baBits2)'。这些工作吗? – Andre

回答

0

VBA可以接受自己的类作为参数。 ByVal和ByRef在传递对象变量时没有什么区别 - 它们总是被传递给ByRef而不管。

尝试设置断点,然后使用F8逐行逐行查看代码,以查看错误的位置。

相关问题