2017-07-06 2 views
0

Ce qui suit est la ligne 684 à partir du codeAttribut erreur en essayant d'enregistrer un fichier Excel avec win32

try: 
    xlBook.SaveAs("%s/ContingencyFile.xlsx" %(os.getcwd())) 
    xlApp.DisplayAlerts = True 
except: 
    xlApp.xlBook.Close 
    xlBook.SaveAs("%s/ContingencyFile.xlsx" %(os.getcwd())) 
    xlApp.DisplayAlerts = True 

C'est l'erreur que je viens à travers lors de l'exécution de mon programme -

Exception in Tkinter callback 
Traceback (most recent call last): 
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__ 
return self.func(*args) 
File "H:\proj4\combine.py", line 684, in ProcessNewFile 
xlApp.xlBook.Close 
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 516, 
in__getattr__ 
raise AttributeError("%s.%s" % (self._username_, attr)) 
AttributeError: Excel.Application.xlBook 

Comment puis-je se débarrasser de l'erreur?

+1

si 'xlBook.SaveAs' est correct,' 'xlApp.xlBook.Close' devrait être xlBook.Close' –

Répondre

0

Essayez avec

xlBook.Close() # or xlApp.xlBook.Close() ? 

Vous n'êtes pas appeler une méthode sans () qui est la raison pour laquelle elle soulève cette AttributeError.

(peut-être le faire SaveAs(...) avant?, Je ne suis pas sûr ...)

+0

I changé le code à ce que vous avez suggéré mais cela n'a pas fonctionné et puis je l'ai couru le jour suivant et cela a fonctionné. donc j'ai supposé que quelque chose que j'avais fait la veille était faux, mais cela a fonctionné maintenant. J'ai envoyé les fichiers à quelqu'un d'autre et cela leur a donné la même erreur. Pourquoi cela arriverait-il? – GigI

+0

fonctionne-t-il avec 'xlApp.xlBook.Close() ou xlBook.Close()'? – PRMoureu

+0

Eh bien maintenant, j'ai essayé avec les deux et les deux ont travaillé pour moi! J'ai envoyé celui avec xlApp.xlBook.close() à quelqu'un d'autre et cela n'a pas fonctionné pour eux. – GigI