Cómo implementar una clase iterable personalizada en VBA

Quiero agregar una característica a mis clases para poder usarlas en cada uno de los bucles.

Escribí hashmaps, arraylists, colas, sets, etc. que quiero repetir. Ahora estoy buscando una manera de implementar la clase IUnknown para crear iteradores personalizados.

Ya se como usar

private objPeople as Collection
Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
    Set NewEnum = objPeople.[_NewEnum]
End Property

pero todos esos ejemplos están basados ​​en la clase Collection, que no quiero usar.

En lo que quiero centrarme es en intentar implementar la interfaz IUnknown, pero no he encontrado ninguna referencia sobre cómo hacerlo.

Tengo una vasta experiencia en Java, C ++, C # y así sucesivamente, así que asumo que DEBE HABER UNA FORMA DE IMPLEMENTAR esto incluso en VBA, tal vez incluso con llamadas a API.

Respuestas a la pregunta(2)

Su respuesta a la pregunta