VBA.访问变体的数组元素.数组是一个类属性



我有一个带有ArrSignalCabel变量的类。在这个变量中,我写了一个对象数组。 属性 获取我的类的底部 只返回一个数组。而且我无法访问数组元素。

Option Explicit
Private ArrSignalCabel As Variant
Property Let ArrSignalCab(ByVal ArrValue As Variant)
ArrSignalCabel = ArrValue
End Property
Property Get ArrSignalCab() As Variant
ArrSignalCab = ArrSignalCabel
End Property
Public Property Get ArrSignalCabIn(index As Integer) As Variant ' not work
ArrSignalCabIn(index) = ArrSignalCabel(index)
End Property

///

NameObjTM2 = TempPanel.ArrCabelPan(i).ArrSignalCabIn(0) ' not work
NameObjTM3 = TempPanel.ArrCabelPan(i).ArrSignalCab      ' work
NameObjTM4=  NameObjTM3(0).NameSig                      ' work

附注: TempPanel - 一个包含对象数组的对象(ArrCabelPan(。 ArrCabelPan - 类结构与描述的相同。

你试过ArrSignalCabIn = ArrSignalCabel(index)吗?

属性的名称应与您在Property Get中声明的名称匹配,如Function

我找到答案

Public Property Get ArrSignalCabIn(Index As Integer) As Variant
If (ArrSignalCabel(Index) Is Nothing) Then Set ArrSignalCabel(Index) = New Signal
Set ArrSignalCabIn = ArrSignalCabel(Index)
End Property

感谢那些帮助过的人