我想用python运行一个excel宏,然后关闭excel。我有以下几点:Python运行Excel宏
import win32com.client
import os
xl = win32com.client.DispatchEx("Excel.Application")
wb = xl.workbooks.open("X:\Location\Location2\File1.xlsm")
xl.run("File1.xlsm!WorkingFull")
xl.Visible = True
wb.Close(SaveChanges=1)
xl.Quit
我的脚本将打开和关闭的罚款,如果我拿出xl.run(“File1.xlsm WorkingFull!”) 当我运行此我得到以下错误:
回溯(最近一次调用最后一次): 文件“C:\ Python27 \ File1.py”,第6行,在 xl.run(“File1.xlsm!WorkingFull”) 文件“”,第2行,正在运行 com_error:(-2147352567,'Exception occurred。',(0,u'Microsoft Excel',u“)无法运行宏'File1.xlsm!WorkingFull'。宏可能在此工作簿中不可用或者所有宏可能被禁用。“,u'xlmain11.chm',0 ,-2146827284),无)
我有宏启用,我知道它在工作簿中,是什么问题?
你试过减少呼叫吗? 'xl.run( “WorkingFull”)'? – SeanC 2012-07-24 17:47:08
确保你的宏不是私人的。也可以尝试'xl.run(wb.WorkingFull)'看看是否有效。 – KFleschner 2012-07-24 17:48:50
工作,但我得到的错误,但它似乎运行我的宏。我知道这一点的唯一原因是我的宏保存了一个文件。 Traceback(最近一次调用的最后一个):运行com_error中的第2行的文件“C:\ Python27 \ file1.py”,第6行,在 xl.run(“WorkingFull”)文件“ (-2147352567,'发生异常',(0,None,None,None,0,-2146788248),None) –
2012-07-24 17:54:49