【发布时间】:2021-11-28 12:40:31
【问题描述】:
我需要创建一个包含类对象的集合。这些类对象又应该包含一个集合。
所以从上到下的数据结构是:
- 集合 "col_A" 包含类对象 "cls_A"
- 类对象“cls_A”包含一个整数“inta”和一个集合“col_B”
- 集合 "col_B" 包含类对象 "cls_B"
- 类对象“cls_B”包含一个整数“intb”和一个双精度“dbl”
在我尝试将“cls_A”对象添加到最顶层集合之前,一切正常。然后我收到以下错误:
Run-time error '91':
Object variable or With block variable not set
我的代码如下:
类模块cls_A
Public inta As Integer
Public col_B As Collection
类模块cls_B
Public intb As Integer
Public dbl As Double
主模块
Sub main()
Dim objB As cls_B
Dim col_B As New Collection
'Populate the col_B collection
'(with one element for simplicity)
Set objB = New cls_B
objB.intb = 5
objB.dbl = 5.15
col_B.Add objB
'Populate the col_A collection
Dim objA As cls_A
Dim col_A As Collection
Set objA = New cls_A
objA.inta = 2
Set objA.col_B = col_B
'Up to here there is no problem,
'objA is correctly created
col_A.Add objA 'Here I get the error
End Sub
【问题讨论】:
标签: vba class collections