因为其他的常用 package 无法满足需求,只能使用 com,但是貌似 com 的接口和 pywin32 不是完全一致,求问怎么查看 pywin32 提供的 API 接口呢,官网没有提供文档,dir()
和 help()
也不够用。
举个例子
app = DispatchEx('Excel.Application')
book = app.Workbooks.Open('my_file.xls)
sheet = book.Worksheets('sheet1')
# calculate coordinates
sheet.Shapes.AddLine(x1, y1, x2, y2)
我想设置 line 的属性,但是不知道相关接口是什么。
1
ysc3839 2020-12-10 14:24:55 +08:00 via Android
我没用过 pywin32,只用过 comtypes,印象中后者可以看 IDispatch 的函数列表的。
或者可以直接看 Excel 的文档。 |
2
krixaar 2020-12-10 14:33:25 +08:00
https://docs.microsoft.com/en-us/office/vba/api/excel.shapes.addline
Excel 的话,直接看 VBA 的文档得了,估计用起来差不多。 |
3
imn1 2020-12-10 14:36:26 +08:00 1
google: "pywin32.chm"
|
4
QianGu OP @ysc3839 我遇到的问题就是 pywin32 的接口和 Excel 的文档接口似乎不一样,Excel 的文档里面是 VB 接口,照着类似的语法写 python 报错了,但是又没有途径知道 pywin32 提供准确的接口,基本都是靠猜来写的。
还是说,这个例子中的 sheet 的属性、方法这些接口本身已经不是 pywin32 的了? |
6
ysc3839 2020-12-10 14:49:24 +08:00 via Android 1
@QianGu 我之前用 comtypes,看 Excel 的 VBA 文档,似乎没什么问题……
个人还是推荐用 comtypes,pywin32 带了一大堆东西,太重了。 |
8
QianGu OP @imn1 谢谢,pywin32 的文档本身有在线的,也有离线的,就在 package 目录下面。
StackOverflow 上也有相同的问题, https://stackoverflow.com/questions/5481686/why-cant-i-find-any-pywin32-documentation-resources 应该是我问错问题了,我的问题应该是从 VB 的语法映射到 python 语法 |