excel - VBA Excel:如何将类放入数组中
问题描述
无论如何我可以将各种类放入一个数组中,而不是像这样的硬编码:
set var1 = new cls1
set var2 = new cls2
我们可以做的:
varArr = array ( var1, var2...)
clsArr = array (cls1, cls2...)
现在我只是循环通过 varArr 和 clsArr 以相应地设置新类,例如:
sub setNew(x as double)
set varArr(x) = new clsArr(x)
end sub
我试过了,还是不行,求大神帮忙
非常感谢 !
特里特(先生)
解决方案
我尝试,但我的知识也有限。首先,我认为您不能将类放入数组中。您可以放置对象。我也没有使用 array() 函数。请看看我是如何进行一些演示的:
这是类模块,包含一个值、属性和一个原始打印子:
Private nr As Integer 'Use as identification
Sub cPrint()
MsgBox "Object ID: " & nr
End Sub
Property Let ID(v As Integer)
nr = v
End Property
在模块的第一个循环中我创建对象,输入 ID 值。在第二个中,所有 ID 值都被打印出来。我希望您可以将其用于您的目的。
Sub clsTest()
Dim varArr(1 To 5) As cls1
Dim i As Integer
For i = 1 To 5
Set varArr(i) = New cls1
varArr(i).ID = i
Next
For i = 1 To 5
varArr(i).cPrint
Next
End Sub
推荐阅读
- flutter - 如何在使用 bloc 滚动时隐藏底部小部件
- performance - 如果我在 IntelliJ 中运行两个不同的类,它们会共享资源(如 CPU)吗?
- react-native - 如何根据内容类型对模态的高度进行动画处理?
- c# - 无法跟踪实体类型的实例
- python - Python - 从文件中绘制数据
- sql - 根据 XML 值拆分行
- google-apps-script - 功能 onEdit(e) - 解决方案与截止日期 - 一旦任务在截止日期前“完成”?
- flutter - Flutter:包含操作按钮的可选(丰富)文本
- ios - Swift - FetchRequest 自定义排序(函数)
- mongodb - 猫鼬 findOneandUpdate 数学运算