下午好。是否可以像在 Collection 类中所做的那样,通过 For Each 循环与我编写的类(内部包含一些集合\数组)交朋友?例子:
Dim example As New Collection
example.Add 2
example.Add 3
Dim elem As Variant
For Each elem In example
Debug.Print elem
Next elem
可以看出,例如,在传递给 For Each 循环时,没有显式调用返回值列表的函数。如何为任何其他类型实现此行为?据我了解,该语言本身使用某种实现迭代器概念的服务机制。
如果您的类包含一个集合,则可以这样做。添加一个方法(让类中的集合被调用
mycollection)然后将你的类导出到一个文件,在文本编辑器中打开它,并添加行
Attribute NewEnum.VB_UserMemId = -4。最后,它应该是这样的:导入这个类而不是你的,一切都会起作用。
在这里阅读更多https://stackoverflow.com/documentation/vba/5321/attributes#t=201608230625133754538