EnumClass




Function GetClasses(ByVal TypeLibFile As String, _
Optional ByVal IncludeNotCreatableClasses As Boolean) As Collection
Dim TLI As New TLIApplication
Dim TypeLibrary As TypeLibInfo
Dim Class As CoClassInfo

' 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 GetClasses = New Collection

' fill the return collection with class names

For Each Class In TypeLibrary.CoClasses
' exclude not creatable classes if necessary

If IncludeNotCreatableClasses Or (Class.AttributeMask And _
TYPEFLAG_FCANCREATE) Then
' the class is creatable or we don't care

' about the creatable attribute

GetClasses.Add Class.Name, Class.Name
End If
Next
End Function

Set IncludeNotCreatableClasses = True to include not creatable classes
(that is, those with Instancing property set to PublicNotCreatable) too.

Be sure that "TypeLib Information" type library (TlbInf32.tlb)
is referenced in your VB project.












( enumclass.html )- by Paolo Puglisi - Modifica del 17/12/2023