Here's a modification which works without Error-Handling.
OlafCode:Option Explicit Private Sub Form_Load() EnumerateProperties Text1, INVOKE_PROPERTYGET EnumerateProperties Text1, INVOKE_PROPERTYPUT End Sub Public Function EnumerateProperties(pObject As Object, pType As InvokeKinds) Dim TypeLib As TLI.InterfaceInfo, Prop As TLI.MemberInfo, Ret Set TypeLib = TLI.InterfaceInfoFromObject(pObject) For Each Prop In TypeLib.Members If Prop.InvokeKind = pType And Prop.Name <> "Index" Then AssignVariantValue Ret, TLI.InvokeHook(pObject, Prop.MemberId, INVOKE_PROPERTYGET) Debug.Print Left$(Prop.Name & Space$(25), 25); TypeName(Ret), IIf(IsObject(Ret), "<ObjRef>", Ret) End If Next End Function Private Sub AssignVariantValue(Dst, Src) If IsObject(Src) Then Set Dst = Src Else Dst = Src End Sub




Reply With Quote