2015-04-10 2 views
1

Мой первоначальный сценарий:win32com не диспетчерская первенствовать, говоря «Ошибка выполнения сервера»

import win32com.client 
import os 

file1= r'C:\\Users\cevans\Desktop\models1\file.xlsm' 

def refresher(): 
    if os.path.exists(file1): 
     xl = win32com.client.Dispatch("Excel.Application") 
     xl.Workbooks.Open(Filename=file1,ReadOnly=1) 
     xl.Visible = True 
     xl.Application.Run('Report_Tablerefresh1') 
     xl.Workbooks(1).Close(SaveChanges=1) 
     xl.Application.Quit() 
     del xl 
refresher() 

Я получаю эту ошибку при попытке сделать простую отправку первенствует, как ни странно сценарий был запущен штраф для спустя несколько недель эта ошибка появилась. Какие-либо предложения?

Traceback (most recent call last): 
    File  "C:/Users/cevans/PycharmProjects/RigLocatorMapPull/Pipe_StorageRefresh.py",  line 17, in <module> 
    refresher() 
    File  "C:/Users/cevans/PycharmProjects/RigLocatorMapPull/Pipe_StorageRefresh.py", l ine 10, in refresher 
    xl = win32com.client.Dispatch("Excel.Application") 
    File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch 
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx) 
    File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 104, in _GetGoodDispatchAndUserName 
return (_GetGoodDispatch(IDispatch, clsctx), userName) 
    File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 84, in _GetGoodDispatch 
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch) 
pywintypes.com_error: (-2146959355, 'Server execution failed', None, None) 
+0

Мое первое предположение, что это связано с преимуществом, поскольку я тестировал Word и другие приложения и прекрасно работает. – carevans88

ответ

0

Одним из решений было перезагрузить Windows OS (после полной переустановки), поскольку возникла ошибка с реестром ОС Windows с excel. Я нашел это причиной других ошибок типа «Ошибка выполнения сервера» с использованием win32com.