列出一个对象的全部成员,请先引用TypeLib Information。 Private Sub Command1_Click()
Dim obj As Class1 Dim objMembers As Members Dim objMember As MemberInfo
Set obj = New Class1 Set objMembers = InterfaceInfoFromObject(obj).Members
For Each objMember In objMembers Debug.Print objMember.Name, objMember.InvokeKind '... Next
End Sub具体的用法请参考相关文档。
Private Sub Command1_Click()
Dim objTypeLibInfo As TypeLibInfo Dim objInterface As InterfaceInfo Dim objMember As SearchItem
' 从指定 OCX 中取得类型库信息 Set objTypeLibInfo = TypeLibInfoFromFile("C:\Work Dir\MyControl\NovaControl.ocx") ' 遍历接口 For Each objInterface In objTypeLibInfo.Interfaces Debug.Print "Interface "; objInterface.Name, "GUID = "; objInterface.Guid ' 遍历成员 For Each objMember In objInterface.Members.GetFilteredMembers Debug.Print , "Member "; objMember.Name, "Type = "; objMember.InvokeKinds Next Next
Private Sub Command1_Click()
Dim obj As Class1
Dim objMembers As Members
Dim objMember As MemberInfo
Set obj = New Class1
Set objMembers = InterfaceInfoFromObject(obj).Members
For Each objMember In objMembers
Debug.Print objMember.Name, objMember.InvokeKind
'...
Next
End Sub具体的用法请参考相关文档。
Dim objTypeLibInfo As TypeLibInfo
Dim objInterface As InterfaceInfo
Dim objMember As SearchItem
' 从指定 OCX 中取得类型库信息
Set objTypeLibInfo = TypeLibInfoFromFile("C:\Work Dir\MyControl\NovaControl.ocx")
' 遍历接口
For Each objInterface In objTypeLibInfo.Interfaces
Debug.Print "Interface "; objInterface.Name, "GUID = "; objInterface.Guid
' 遍历成员
For Each objMember In objInterface.Members.GetFilteredMembers
Debug.Print , "Member "; objMember.Name, "Type = "; objMember.InvokeKinds
Next
Next
End Sub