2016-11-23 2 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)). Значение) <<- это даст вам ответ, почему –

+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 ... 
Смежные вопросы