怎么查看 pywin32 的 API 文档

2020-12-10 14:15:13 +08:00
 QianGu

因为其他的常用 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 的属性,但是不知道相关接口是什么。

1948 次点击
所在节点    Python
8 条回复
ysc3839
2020-12-10 14:24:55 +08:00
我没用过 pywin32,只用过 comtypes,印象中后者可以看 IDispatch 的函数列表的。
或者可以直接看 Excel 的文档。
krixaar
2020-12-10 14:33:25 +08:00
https://docs.microsoft.com/en-us/office/vba/api/excel.shapes.addline
Excel 的话,直接看 VBA 的文档得了,估计用起来差不多。
imn1
2020-12-10 14:36:26 +08:00
google: "pywin32.chm"
QianGu
2020-12-10 14:46:12 +08:00
@ysc3839 我遇到的问题就是 pywin32 的接口和 Excel 的文档接口似乎不一样,Excel 的文档里面是 VB 接口,照着类似的语法写 python 报错了,但是又没有途径知道 pywin32 提供准确的接口,基本都是靠猜来写的。
还是说,这个例子中的 sheet 的属性、方法这些接口本身已经不是 pywin32 的了?
QianGu
2020-12-10 14:47:56 +08:00
@krixaar 确实,我就是看着 VB 猜着写 python,可以 addline 但是不会改属性 :(
ysc3839
2020-12-10 14:49:24 +08:00
@QianGu 我之前用 comtypes,看 Excel 的 VBA 文档,似乎没什么问题……
个人还是推荐用 comtypes,pywin32 带了一大堆东西,太重了。
QianGu
2020-12-10 15:03:06 +08:00
@ysc3839 谢谢~我试试
QianGu
2020-12-10 15:11:57 +08:00
@imn1 谢谢,pywin32 的文档本身有在线的,也有离线的,就在 package 目录下面。
StackOverflow 上也有相同的问题,
https://stackoverflow.com/questions/5481686/why-cant-i-find-any-pywin32-documentation-resources

应该是我问错问题了,我的问题应该是从 VB 的语法映射到 python 语法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/734125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX