Я нашел его, это объект FILETIME, и я мог бы преобразовать его с помощью макроса Excel:
Вариант Явный
Закрытый тип FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type
Закрытый тип SYSTEMTIME wYear как целое число wMonth как целое число wDayOfWeek как целое число wDay как целое число wHour как целое число wMinute как целое число wSecond как целое число wMilliseconds как целое число конец
Закрытое Объявление функции FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Function ConvertDate(test)
ConvertDate = Bit64ToDate(test)
'4/26/2010 8:32:27 PM
End Function
Private Function Bit64ToDate(Bit64) As Date
Dim High As Long, Low As Long, ft As FILETIME, st As SYSTEMTIME
GetTwoLongsFromInt64 [Bit64], ft.dwHighDateTime, ft.dwLowDateTime
FileTimeToSystemTime ft, st
Bit64ToDate = SystemTimeToVBTime(st)
End Function
'the following function - thanks to
'http://doc.xceedsoft.com/products/Xceedzip/64_bit_values.html
Private Sub GetTwoLongsFromInt64(ByVal cInt64 As Double, ByRef lHigh As Long, ByRef lLow As Long)
Dim cRemainder As Double
lHigh = CLng(Fix(cInt64 / 4294967296#))
cRemainder = cInt64 - (lHigh * 4294967296#)
If (cRemainder <= 2147483647#) Then
lLow = CLng(cRemainder)
Else
cRemainder = cRemainder - 4294967296#
lLow = (CLng(cRemainder))
End If
End Sub
'the following function - thanks to
'http://www.cpearson.com/excel/FileTimes.htm
Private Function SystemTimeToVBTime(SysTime As SYSTEMTIME) As Date
With SysTime
SystemTimeToVBTime = DateSerial(.wYear, .wMonth, .wDay) + _
TimeSerial(.wHour, .wMinute, .wSecond)
End With
End Function