在VBA Excel 2010中将对象数组作为对象属性的问题

时间:2012-02-17 19:59:49

标签: excel-vba vba excel

Private oiCustoms() As CCustomClass
Public Property Get Partners() As CCustomClass()
    Set Partners() = oiCustoms()
End Property

Public Property Set Partners(values() As CCustomClass)
    ReDim oiPartners(values.Count)
    Set oiCustoms() = values()
End Property

当我尝试运行时,我收到编译错误: 相同属性的属性过程的定义不一致,或者属性procudure有n个可选参数,ParamArray或无效的Set final参数。

这里有什么问题?我做了一些看,看起来我不能使用数组作为属性参数。它是否正确?任何好的解决方法。我需要为存储在数组中的对象提供此数据,以便在其他地方使用。

1 个答案:

答案 0 :(得分:1)

您将数组与对象混淆。

Private oiCustoms() As CCustomClass
Public Property Get Partners() As CCustomClass()
    Partners = oiCustoms
End Property

Public Property Let Partners(values() As CCustomClass)
    ReDim oiPartners(LBound(values) To UBound(values))
    oiCustoms = values
End Property