使 For Each ... Next 有效
伴随着强健性而来的,是重新获得了 For Each ... Next。通过添加下面的方法,可以再一次将所有工作委派给 Collection 对象:'NewEnum 必须返回一个集合的枚举算子的 IUnknown 接口。
Public Function NewEnum() As IUnknown
   Set NewEnum = mcolEmployees.[_NewEnum]
End Function委派给 Collection 对象的最重要的东西是它的枚举算子。枚举算子是一个小对象,该对象知道如何遍历集合中的各项。不能用 Visual Basic 来书写枚举算子对象,因为 Employees 类是基于 Collection 对象的,可以返回 Collection 对象的枚举算子—它自然知道如何枚举 Collection 对象所保存的各项。包围 Collection 对象的 _NewEnum 方法的方括号是必要的,这是因为方法名前面的下划线。前面的这个下划线是一个约定,它指明该方法是隐藏在类型库中的。不能把自己的方法命名为 _NewEnum,但是可以把它隐藏在类型库中,并将 For Each ... Next 所需要的过程 ID 赋给它。详细见:MSDN中砖块盖的房子