gpt4 book ai didi

vba - 如何将对象插入作为用户修改类的字段的数组中? VBA

转载 作者:行者123 更新时间:2023-12-04 21:33:27 24 4
gpt4 key购买 nike

我有一个包含一对数组的类。

当我尝试向该数组插入一个新对时,我收到一条错误消息。

为什么会出现该错误,我该如何解决?

'####  The class instance:  ####
dim pairsHolder as new ClassArrayOfPairs
pairsHolder.init(5)

'#### The pair instance: ####
dim pair as new ClassPairs
pair.setLeft(4) ... pair.setRight(7) ....

'#### Trying to insert pair to array: ####
Call pairsHolder.insertPairAt (0,pair)

最后一条语句引发错误:

RunTime error 438: Object doesn't support this property or method



这是类(class):
'@@@@@  CLASS ArrayOfPairs  @@@@@
'--------------------------------
Private pairArr() As ClassPairs
Private maxPairs As Integer

'##### Initialize Parameters #####
Public Sub init(howManyPairs As Integer)
maxPairs = howManyPairs
ReDim pairArr(maxPairs - 1) As ClassPairs
End Sub


'##### INSERT pair #####
Public Sub insertPairAt(index as Integer, pair As ClassPairs)
pairArr(index) = pair
End Sub

澄清一下, ClassPairs只是一个带有 Left 的对象和 Right场变量。

最佳答案

我只需添加 Set 即可解决您的问题之前 pairArr(index) = pair像这样:

'##### INSERT pair #####
Public Sub insertPairAt(index as Integer, pair As ClassPairs)
Set pairArr(index) = pair
End Sub

您正在设置 pairArr(index) = pair . pairpairArr(index)是对象。因此,您需要为 pairArr(index) 分配一个对象引用。因为它是 pairSet用于分配对象引用, msdn reference .

关于vba - 如何将对象插入作为用户修改类的字段的数组中? VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45822944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com