2016-11-23 60 views
1

我試圖驗證從Excel導入的數據。有些情況下我可以得到這樣的值:12:00:00 AM。這些不應該飛。我正是如此對它們進行比較:時間比較沒有捕獲

if cellRange(1, CInt(fieldMapping)).Value.ToString = "12:00:00 AM" then ... 

(cellRange是類型Microsoft.Office.Interop.Excel.Range)

爲什麼沒有這種比較解析爲 '然後' 聲明? (無論如果我使用的ToString與否)

+0

你有沒有執行的任何診斷檢查什麼cellRange(1'的精確值,CINT(fieldMapping ))。Value.ToString'是?檢查沒有任何不可打印的字符等... –

+0

'Debug.WriteLine(cellRange(1,CInt(fieldMapping))。Value)'< - 這會給你答案爲什麼 –

+0

@JonSkeet:我字面上將「12:00:00 AM」複製/粘貼到Excel字段中以確保沒有錯誤。 當然,只要我發佈這個,我認爲試試#12:00:00 AM#並且工作... – user

回答

1

的比較,必須使用「#」:

if cellRange(1, CInt(fieldMapping)).Value.ToString = #12:00:00 AM# then ...