2013-07-23 84 views
0

這個簡單的代碼不起作用。我確定文件路徑是正確的,但是似乎問題是由於無法打開/添加具有「Workbooks.Add」功能的工作簿而導致的。 下面的代碼:Python/PyWin32 /腳本運行Excel宏不工作

from win32com.client import Dispatch 

#processing the results 
excel = Dispatch('Excel.Application') 
excel.Workbooks.Add('C:\\Documents and Settings\\dell600\\My Documents\\Webscraping Output\\Results\\Processed Results.xls') 
excel.Run('Apply_Process') 
excel.DisplayAlerts = 0 
excel.Quit() 
excel.DisplayAlerts = 0 

這裏的錯誤消息:

Traceback (most recent call last): 
File "TestMacro", line 6, in <module> 
excel.Run('Apply_Process') 
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line282, in _ApplyTypes_ 
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args) 
pywintypes.com_error: (-2147352567, 'Exception occured.', (0, None, None, None, 0, -2146771191), None) 
+0

你需要包括窩調用'application.run'時的rkbook名稱 –

+0

請參閱:http://www.rondebruin.nl/win/s9/win001.htm –

+0

完美的作品,謝謝! –

回答

0

請確保您有以下幾點: 1)正確的道路,仔細檢查它,你還必須有正確的擴展 2)確保文件打開,我用excel.workbooks.Open(path) 3)你需要在excel中啓用宏,如果你運行的是2007或更高版本,你必須運行.xlsm