2016-11-23 43 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 ...