1

我在 excel 中创建了一个宏,快捷键为CTRL+l. 我想使用 python3.3 运行这个宏

有人可以在这里帮助我吗?这是我到目前为止所管理的:

import win32com.client as win32
 xl = win32.gencache.EnsureDispatch('Excel.Application')
 xl.Visible = 1
 xl.Workbooks.Open("C:\Python33\mac.xlsm")
4

2 回答 2

0

我从来没有用 EnsureDispatch 做到这一点,但这里是你如何用 Dispatch 做到的

from win32com.client import Dispatch

xlApp = Dispatch('Excel.Application')

result = xlApp.Run("<macro name here>",<the macro variables go here -seperate each one with a comma>) 
# for example:
#result = xlApp.Run("myMacro", "foo","bar")

#and make sure you close the xl
xlApp.Quit()

哦,我也在 python 2.7 上,(但我怀疑它是否重要,因为依赖项是 win32)

于 2013-07-18T21:41:59.120 回答
0

我试图为 Python 3.3 应用一个示例。只需添加应用程序即可获得结果!

from win32com.client import Dispatch 
xlApp = Dispatch('Excel.Application') 
xlApp.Workbooks.Open("C:\Python33\mac.xlsm")
result = xlApp.Application.Run("<macro name here>",<the macro variables go here -seperate each one with a command>)
于 2017-04-12T12:51:49.897 回答