2012-10-31 42 views
1

我有一個MyClass2以下屬性:如何使用靜態數組作爲類屬性在VBA

Private MyClass1Array(1 To 4) As MyClass1 

其中MyClass1的是我所定義的另一個類。我不知道該如何處理這個屬性:它不能公開,所以我在MyClass2模塊中寫了這個:

Public Property Let SetMyClass1Array(i As Integer, c As MyClass1) 
    MyClass1Array(i) = c 
End Property 

Public Property Get GetMyClass1Array(i As Integer) As MyClass1 
    GetMyClass1Array = MyClass1Array(i) 
End Property 

但是這也行不通。如何正確寫入這些屬性?謝謝!

回答

3

使用類對象時,需要使用Set來處理對象引用,而不是使用基本數據類型值。

Public Property Let SetMyClass1Array(i As Integer, c As MyClass1) 
    Set MyClass1Array(i) = c 
End Property 

Public Property Get GetMyClass1Array(i As Integer) As MyClass1 
    Set GetMyClass1Array = MyClass1Array(i) 
End Property 
+0

感謝一個快速的答案! – grozhd

+3

+1還有'property set'而不是'let'來允許'set x.SetMyClass1Array(a)= b' –