2013-10-25 32 views
1

我想檢查PyWin在與Excel的COM接口中返回的數據是否爲類型'時間'。如何檢查PyWin時間類型

下面是不起作用的代碼:

from win32com.client import Dispatch 
from pywintypes import Time 
cellToTest = Dispatch('Excel.Application').Sheets('SomeSheet').Range('SomeCell').Value 
if type(cellToTest) == Time: 
    print 'It\'s an excel time type' 

因爲這個:type(Time)

返回此:<type 'builtin_function_or_method'>

然而這樣的:type(cellToTest)

返回此:<type 'time'>

回答

1

時間不是一種類型,而是一種返回新時間對象(http://docs.activestate.com/activepython/2.4/pywin32/pywintypes__Time_meth.html)的函數。我不知道在win32包中託管實際類型的位置,但可以創建任意時間對象並詢問其類型:

type(cellToTest) == type(Time(1)) 
+0

基督徒,謝謝。這有效,但我真的希望能夠獲得類型本身。儘管解決方法是+1。 – TimY

+0

不客氣。對於該類型,請在pywin32郵件列表中詢問。我相信你會在幾個小時內得到答案。 –