2017-07-06 48 views
0

下面是一行684碼屬性錯誤,當設法保存Excel文件的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 

這是我遇到運行我的程序,而錯誤 -

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 

我怎麼能擺脫錯誤?

+1

如果'xlBook.SaveAs'是正確的,那麼'xlApp.xlBook.Close'應該是'xlBook.Close' –

回答

0

嘗試用

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

你不打電話不()這就是爲什麼它會引發這種AttributeError的方法。

(之前可能做SaveAs(...)?,我不知道......)

+0

我將代碼更改爲您的建議,但它不起作用,然後我在第二天就運行它,並且工作正常。所以我假設我前一天做的事情是錯誤的,但現在它工作了。我將這些文件發送給其他人,並給了他們同樣的錯誤。爲什麼會發生這種情況? – GigI

+0

它可以與'xlApp.xlBook.Close()或xlBook.Close()'一起使用嗎? – PRMoureu

+0

現在,我嘗試了兩個都爲我工作!我發送了一個xlApp.xlBook.close()給其他人,並沒有爲他們工作。 – GigI