找到一个,自己改编成了函数,返回数组。 需要引用附件中的DLL文件。 Function GetAllPros(Target As Object) Dim ArrJG() Dim oTLB As InterfaceInfo Set oTLB = TLI.InterfaceInfoFromObject(Target) '定义结果数组 ReDim ArrJG(1 To oTLB.Members.Count) '获取各属性 For i = 1 To oTLB.Members.Count Select Case oTLB.Members(i).InvokeKind Case INVOKE_CONST ArrJG(i) = "常数:" & oTLB.Members(i).Name Case INVOKE_EVENTFUNC ArrJG(i) = "事件:" & oTLB.Members(i).Name Case INVOKE_FUNC ArrJG(i) = "方法:" & oTLB.Members(i).Name Case INVOKE_PROPERTYGET ArrJG(i) = "属性(Get):" & oTLB.Members(i).Name Case INVOKE_PROPERTYPUT ArrJG(i) = "属性(Let):" & oTLB.Members(i).Name Case INVOKE_PROPERTYPUTREF ArrJG(i) = "属性(Set):" & oTLB.Members(i).Name Case INVOKE_UNKNOWN ArrJG(i) = "未知:" & oTLB.Members(i).Name End Select Next i '返回结果数组 GetAllPros = ArrJG End Function Sub Test() Dim A As Object Set A = CreateObject("Scripting.Dictionary") arr = GetAllPros(A) Range("A1").Resize(UBound(arr), 1) = Application.Transpose(arr) End Sub
Pf6CGe0k.rar
(46.06 KB, 下载次数: 76)
|