首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >pyvot:我可以从python脚本运行Excel VBA宏吗?

pyvot:我可以从python脚本运行Excel VBA宏吗?
EN

Stack Overflow用户
提问于 2013-07-03 19:31:36
回答 3查看 2K关注 0票数 1

假设我使用以下代码在report对象中加载了Report WW26blueprint_with_chart_330.xlsm (此处使用print.range来测试工作簿是否已加载):

代码语言:javascript
复制
import xl
report = xl.Workbook("Report WW26blueprint_with_chart_330.xlsm")
print report
print(report.range("A1:E50").get())

pyvot documentation中我得到了:

Excel是在

的COM之上编写的。您始终可以获取基础COM对象并自己进行COM调用

我的Excel文件包含以下宏:

代码语言:javascript
复制
Macro1 
Масго2 
Macro7  

我可以使用python/pyvot直接从python脚本运行上面的任何宏吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-17 01:07:23

这为我做到了:

代码语言:javascript
复制
report.xlWorkbook.Application.Run('Macro1')
票数 1
EN

Stack Overflow用户

发布于 2013-10-29 20:53:26

使用pyvot无法做到这一点,但可以使用pywin32完成,如下所示:

代码语言:javascript
复制
import win32com.client
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.Open(Filename="C:\Users\florinescu_eduard\Downloads\\Report WW26blueprint_with_chart_330.xlsm",ReadOnly=1)
xl.Application.Run("Macro1")
xl.Workbooks(1).Close(SaveChanges=1)
xl.Application.Quit()
xl=0
票数 1
EN

Stack Overflow用户

发布于 2019-03-26 22:16:03

在调试时确保xl.Application.Quit()是非常重要的。除了你可能会感到困惑之外。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17446807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档