Visual Studio에서 Office 개발 도구를 사용하여 1900년 1월 1일 이후의 날짜 값을 범위에 저장하는 경우 OA(OLE 자동화) 형식으로 저장됩니다. OA(OLE 자동화) 날짜 값을 검색하려면 FromOADate 메서드를 사용해야 합니다. 날짜가 1900년 1월 1일 이전인 경우 문자열로 저장됩니다.
참고 항목
Excel 날짜는 1900년 처음 두 달 동안 OLE 자동화 날짜와 다릅니다. 1904년 날짜 시스템 옵션을 선택하는 경우에도 차이점이 있습니다. 아래 코드 예제에서는 이러한 차이점을 해결하지 않습니다.
NamedRange 컨트롤 사용
이 예제는 문서 수준 사용자 지정에 대한 것입니다. 다음 코드는 ThisWorkbook 클래스가 아니라 시트 클래스에 배치해야 합니다.
object value = NamedRange1.Value2;
if (value != null)
{
if (value is double)
{
dt = DateTime.FromOADate((double)value);
}
else
{
DateTime.TryParse((string)value, out dt);
}
}
MessageBox.Show(dt.ToString());
Dim value As Object = NamedRange1.Value2
If Not value Is Nothing Then
If TypeOf value Is Double Then
dt = DateTime.FromOADate(CType(value, Double))
Else
DateTime.TryParse(CType(value, String), dt)
End If
End If
MessageBox.Show(dt.ToString())
object value = rng.Value2;
if (value != null)
{
if (value is double)
{
dt = DateTime.FromOADate((double)value);
}
else
{
DateTime.TryParse((string)value, out dt);
}
}
System.Windows.Forms.MessageBox.Show(dt.ToString());
Dim value As Object = rng.Value2
If Not value Is Nothing Then
If TypeOf value Is Double Then
dt = DateTime.FromOADate(CType(value, Double))
Else
DateTime.TryParse(CType(value, String), dt)
End If
End If
System.Windows.Forms.MessageBox.Show(dt.ToString())