Nevermind, I found some code from Terry Kreft:
Pass the filename and
0 for the creation date
1 for the last access date
2 for the last write date (modified)
**************************************************
'Code Start
**************************************************
Private Const OPEN_EXISTING = 3
Public Const INVALID_HANDLE_VALUE = -1
Private Const GET_CREATE_DATE = 0
Private Const GET_LAST_ACCESS_DATE = 1
Private Const GET_LAST_WRITE_DATE = 2
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function FileTimeToSystemTime Lib "kernel32" _
(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" _
(lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
Private Declare Function GetFileTime Lib "kernel32" (ByVal _
hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime _
As FILETIME, lpLastWriteTime As FILETIME) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA"
_
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As
Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function lclose Lib "kernel32" Alias "_lclose" (ByVal _
hFile As Long) As Long
Function FileTimeInfo(InFileName As String, WhichTime As Integer) As
Date
Dim dteRet As Date
Dim hFile As Integer
Dim CreationTime As FILETIME
Dim LastAccessTime As FILETIME
Dim LastWriteTime As FILETIME
Dim LocalTime As FILETIME
Dim SysTime As SYSTEMTIME
On Error GoTo FileTimeInfo_err
hFile = CreateFile(InFileName, 0&, 0&, 0&, OPEN_EXISTING, 0&, 0&)
If hFile = INVALID_HANDLE_VALUE Then
Err.Raise 1 + vbObjectError, Description:="Can't open the file"
Exit Function
End If
If GetFileTime(hFile, CreationTime, LastAccessTime, LastWriteTime) =
0
Then
Err.Raise 2 + vbObjectError, Description:="GetFileTime Failed"
End If
Select Case WhichTime
Case GET_CREATE_DATE
If FileTimeToLocalFileTime(CreationTime, LocalTime) = 0 Then
Err.Raise 2 + vbObjectError,
Description:="FileTimeToLocalFileTime
Failed"
End If
Case GET_LAST_ACCESS_DATE
If FileTimeToLocalFileTime(LastAccessTime, LocalTime) = 0 Then
Err.Raise 2 + vbObjectError,
Description:="FileTimeToLocalFileTime
Failed"
End If
Case GET_LAST_WRITE_DATE
If FileTimeToLocalFileTime(LastWriteTime, LocalTime) = 0 Then
Err.Raise 2 + vbObjectError,
Description:="FileTimeToLocalFileTime
Failed"
End If
End Select
If Not FileTimeToSystemTime(LocalTime, SysTime) Then
With SysTime
dteRet = DateSerial(.wYear, .wMonth, .wDay) + TimeSerial(.wHour,
..wMinute, .wSecond)
End With
Else
MsgBox "FileTimeToSystemTime Failed"
End If
FileTimeInfo_err:
If hFile <> INVALID_HANDLE_VALUE Then Call lclose(hFile)
FileTimeInfo = dteRet
Exit Function
FileTimeInfo_end:
With Err
Call MsgBox(.Description, vbExclamation + vbOKOnly, .Number)
End With
Resume FileTimeInfo_err
End Function
**************************************************
'Code End
**************************************************