假设我使用以下代码在report
对象中加载了Report WW26blueprint_with_chart_330.xlsm
(此处使用print.range
来测试工作簿是否已加载):
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文件包含以下宏:
Macro1
Масго2
Macro7
我可以使用python/pyvot直接从python脚本运行上面的任何宏吗?
发布于 2016-02-17 01:07:23
这为我做到了:
report.xlWorkbook.Application.Run('Macro1')
发布于 2013-10-29 20:53:26
使用pyvot
无法做到这一点,但可以使用pywin32
完成,如下所示:
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
发布于 2019-03-26 22:16:03
在调试时确保xl.Application.Quit()
是非常重要的。除了你可能会感到困惑之外。
https://stackoverflow.com/questions/17446807
复制相似问题