Спасибо, с этим разобрался. Но теперь другая проблема.
для конструкции for each завел метод _NewEnum, имплементировал IEnumVARIANT.
Но при вызове из VB for each type in list выводится сообщение RuntimeError 13 type mismatch
Может я что то упустил, и кроме имплементации _NewEnum (DISPID_NEWENUM) требуеттся еще какие нибудь действия чтобы заработал for each?