Article ID: 124392
Article Last Modified on 11/6/2000
Option Explicit
Type OFSTRUCT
cBytes As String * 1
fFixedDisk As String * 1
nErrCode As Integer
szReserved As String * 4
szPath As String * 128
End Type
Global Const OF_EXIST = &H4000
Declare Function WinOpenFile Lib "KERNEL.EXE" Alias _
"OpenFile" (ByVal szFileName As String, _
OpenBuff As OFSTRUCT, ByVal Flag As Integer) As Integer
Function GetFileDateTime (ByVal FileName As String) As Variant
Dim ofs As OFSTRUCT
Dim iDate As Long
Dim iTime As Long
Const DAY_MASK = &H1F
Const MONTH_MASK = &H1E0
Const YEAR_MASK = &HFE00
Const SECOND_MASK = &H1F
Const MINUTE_MASK = &H7E0
Const HOUR_MASK = &HF800
If WinOpenFile(FileName, ofs, OF_EXIST) <> -1 Then
iDate = Asc(Mid$(ofs.szReserved, 2, 1)) * 256& _
+ Asc(Mid$(ofs.szReserved, 1, 1))
iTime = Asc(Mid$(ofs.szReserved, 4, 1)) * 256& _
+ Asc(Mid$(ofs.szReserved, 3, 1))
GetFileDateTime = DateSerial(((iDate And YEAR_MASK) \ _
&H200) + 1980, (iDate And MONTH_MASK) \ &H20, (iDate And _
DAY_MASK)) + TimeSerial((iTime And HOUR_MASK) \ &H800, _
(iTime And MINUTE_MASK) \ &H20, (iTime And SECOND_MASK) * 2)
Else
GetFileDateTime = Null
End If
End Function
Additional query words: api return
Keywords: kbinfo kbprogramming KB124392