有可能吗?
一行字:
import win32com.client
ProgID = "someProgramID"
com_object = win32com.client.Dispatch(ProgID)
for methods in com_object:
print methods
我得到了com_object.__dict__
,其中列出:
[_oleobj_, _lazydata_, _olerepr_, _unicode_to_string_, _enum_, _username_, _mapCachedItems_, _builtMethods_]
大多数都是空的,除了:
_oleobj_
(PyIDispatch)_lazydata_
(PyITypeInfo)_olerepr_
(LazyDispatchItem实例)_username_
(<unknown>
)但我不知道如何访问这些类型的任何内容。
对于那些发现the accepted answer不起作用的人(我猜有些东西随着
pywin32
在Python3中的工作方式而改变了)-仍然有一种方法可以获得具有_prop_map_get_
属性(将对象的字段作为键保存的dict)的对象。您只需使用win32com.client.gencache.EnsureDispatch()
创建主应用程序对象。下面是我编写的一个便利函数,它列出了通过这种方式创建的已传递COM对象的字段和方法:
对于使用
win32com.client.gencache.EnsureDispatch("Excel.Application")
创建的Excel对象,其输出为:刚刚找到了大多数方法:
以下是方法:
下面是一个示例输出,其中包含
ProgID = "Foobar2000.Application.0.7"
输出:
要列出对象的属性,可以使用dir()函数。这是python的内置函数,不需要导入。请尝试以下操作:
打印目录(对象)
查看对象的属性。
相关问题 更多 >
编程相关推荐