vba - VBA:将一个集合附加到另一个集合上,例如 VB.NET 中的“.AddRange”
问题描述
假设我有一个要添加其他收藏的主收藏。我有一些返回集合的可选函数,我想将其附加到我现有的集合中。是否有类似 VB.NET 中的“.AddRange”的命令?
VBA 代码示例:
Public Sub main()
Dim masterCollection As Collection
Do While addingThings
If addManyThings Then
masterCollection.AddRange functionReturnsCollection
Else
masterCollection.Add aThing
End If
Loop
End Sub
Private Function functionReturnsCollection() As Collection
End Function
解决方案
不要对收藏这么想。您可以通过 Systems Collection(.Net 框架)和使用 ArrayList 的 insertRange 访问您提到的方法,例如:
Public Sub test()
Dim a As Object, b As Object, i As Long
Set a = CreateObject("System.Collections.Queue")
a.Enqueue "D"
a.Enqueue "E"
Set b = CreateObject("System.Collections.ArrayList")
With b
.Add "A"
.Add "B"
.Add "C"
.InsertRange 1, a
End With
For i = 0 To b.count - 1
MsgBox b(i)
Next i
End Sub
也许您可以设计一个类来在外部模仿这一点。
推荐阅读
- flutter - 颤振冻结:错误:找不到吸气剂:
- r - 如何遍历R中的多个URL并保存在数据框中
- python - python脚本的安全/加密(机器人)
- python - 使用 tf.Dataset 加载和预处理数据的问题
- node.js - 在 Node.js 中编写脚本时如何使用“cd”移动到另一个文件夹?
- r - 根据 R 中的组创建 ggplot2 图例?
- python - 在opencv(python)中检测这两个对象之间碰撞的最佳方法是什么?
- java - Spring Boot 中的接口注解
- typescript - Nativebase React Native 为什么我不能在输入中传递数字
- react-native - 我在 Google Play 上发布的 Expo App 仍然安装旧版本