我用pywin32向Word和Excel发送VBA命令,代码是用PyCharm编写的。
问题是pywin32没有围绕VBA对象的永久包装器,而是使用makepy
来生成必要的模块。那会造成一些不便。你知道吗
def my_func (workbook: Workbook)
isinstance(workbook, Workbook)
例如,工作簿对象类型为:
<class 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9.Workbook.Workbook'>
我假设00020813-0000-0000-C000-000000000046x0x1x9是注册表中VBA类型库的键。你知道吗
生成的包装器位于...\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x9_Workbook.py
所以要在注释、类型检查、参数提示等方面使用工作簿类型。。需要手动定义,例如:
Workbook = win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9.Workbook.Workbook
但是,请考虑:
是否可以使用生成的python代码自动生成VBA类型库包装器,是否存在这样的工具/库?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐