我想用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