' return a collection with names of all the class names' of a type library that implement a certain member.'' MEMBERNAME is the name of the property or method' MEMBERTYPE is the type of the member (vbGet, vbLet, vbSet, vbMethod).' You can specify multiple types by ORing these constants '' Example:' Dim tlb As String' Dim retColl As Collection' tlb = "C:MyServer.Dll"' ' returns all types with MyProp (Let, Set or Get) property ' Set retColl = GetClassesByMember(tlb, "MyProp", VbLet Or VbSet Or VbGet)' ' returns all types with MyProp Let property' Set retColl = GetClassesByMember(tlb, "MyProp", VbLet)' ' returns all types with MyFunc function (or Sub)' Set retColl = GetClassesByMember(tlb, "MyFunc", VbMethod)' Be sure that "TypeLib Information" type library (TlbInf32.tlb)' is referenced in your VB project.Function GetClassesByMember(ByVal TypeLibFile As String, _ ByVal MemberName As String, MemberType As VbCallType) As Collection Dim TLI As New TLIApplication Dim TypeLibrary As TypeLibInfo Dim TypeInfo As TypeInfo Dim Results As SearchResults Dim Item As SearchItem ' raises an error if unable to open the type library ' (e.g. file not found or not a TLB) Set TypeLibrary = TLI.TypeLibInfoFromFile(TypeLibFile) ' prepare the result Set GetClassesByMember = New Collection ' search types containing the requested member Set Results = TypeLibrary.GetTypesWithMemberEx(MemberName, MemberType, , _ tliStClasses) ' fill the return collection with found type names For Each Item In Results GetClassesByMember.Add Item.Name, Item.Name NextEnd Function


What is Metadata?
What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular