2014-02-19 65 views
1
import win32com.client 

ExObj = win32com.client.Dispatch("Excel.Application") 
ExObj.Visible = 1 
wb = ExObj.Workbooks.Open('') 
ws = wb.Worksheets[0] 
ws.printout() 

這將打開和Excel文件發送到打印機並打印出來,但隨後產生以下錯誤:打印()類型錯誤布爾

Traceback (most recent call last): 
    File "U:/rmarshall/Work For Staff/ROB/_Python/__Python Projects Code/Time Sheet.py", line 26, in <module> 
    ws.printout() 
TypeError: 'bool' object is not callable 

如何避免這個錯誤?

+0

如果一切按預期工作,只需在(TypeError)塊之外的嘗試中將其包裝並忽略它。 –

+0

'printout'在這裏是一個布爾值,而不是一個方法,它出現了。 –

+0

@IonutHulub:對,只是壓制你不喜歡的所有異常。把頭伸進沙子裏,呃? –

回答

4

我認爲你已經使用打印輸出(的)代替打印輸出(),它是區分大小寫的。

+0

事實上,Python是區分大小寫的;並有['Worksheet.PrintOut()'方法](http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.printout.aspx)。 –

+0

+1,但你能解釋它爲什麼打印? 「打開併發送excel文件到打印機並打印出來」,如果方法名稱錯誤,這怎麼可能?接得好! – Schollii

+0

它不。他可能只是假設它會這麼說。 –