2013-07-17 3 views
1

Я создал макрос в excel с сочетанием клавиш в качестве CTRL + l. Я хочу запустить этот макрос, используя python3.3Выполнение макроса Excel из Python

Может кто-нибудь помочь мне здесь? Это то, что мне удалось до сих пор:

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

ответ

0

Я никогда не делал этого с EnsureDispatch, но вот как это сделать с Отправка

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)

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>)