我在 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")
我在 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")
我从来没有用 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)
我试图为 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>)