coclass myCoclass { [default] interface ImyCoclass; interface ImyWantedinteface; [default, source] dispinterface IOtherEvents; }; #### ConnectToServer(myCo, "FOO.myCoClass") Dim myCoInternal As FOO.imyWantedinterface Set myCoInternal = myCo ' now myCoInternal can access ImyWantedinterface's methods myCoInternal.doit ' Works #### use Win32::OLE my $myCo = Win32::OLE->new('FOO.myCoClass') or die "Cannot create object"; # Works without problems my $myCoInt = Win32::OLE->new('FOO.ImyWantedinteface') or die "Cannot create object"; # Gives invalid class string # Also given method doit is in the ImyWantedinterface's declaration $myCo->doit(); # Fails