Hallo Peter,
fertig nicht. Aber mal ein Beispiel dafür, wie du das Änderungsdatum ändern kannst.
Option Explicit
Private Declare Function GetFileTime Lib "kernel32" ( _
ByVal hFile As Long, _
ByRef lpCreationTime As FILETIME, _
ByRef lpLastAccessTime As FILETIME, _
ByRef lpLastWriteTime As FILETIME) As Long
Private Declare Function SetFileTime Lib "kernel32" ( _
ByVal hFile As Long, _
ByRef lpCreationTime As FILETIME, _
ByRef lpLastAccessTime As FILETIME, _
ByRef 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, _
ByRef lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function SystemTimeToFileTime Lib "kernel32" ( _
ByRef lpSystemTime As SYSTEMTIME, _
ByRef lpFileTime As FILETIME) As Long
Private Declare Function LocalFileTimeToFileTime Lib "kernel32" ( _
ByRef lpLocalFileTime As FILETIME, _
ByRef lpFileTime As FILETIME) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hObject As Long) As Long
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 Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3&
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Public Sub Aenderungdatum_aendern()
Dim udtFileTime1 As FILETIME, udtFileTime2 As FILETIME
Dim udtFileTime3 As FILETIME, udtFileTime As FILETIME
Dim udtLocalTime As FILETIME, udtSystemTime As SYSTEMTIME
Dim dtmNewFiletime As Date, lngHandle As Long
dtmNewFiletime = Now - 2 'zwei Tage zurück
udtSystemTime.wYear = Year(dtmNewFiletime)
udtSystemTime.wMonth = Month(dtmNewFiletime)
udtSystemTime.wDay = Day(dtmNewFiletime)
udtSystemTime.wDayOfWeek = Weekday(dtmNewFiletime)
udtSystemTime.wHour = Hour(dtmNewFiletime)
udtSystemTime.wMinute = Minute(dtmNewFiletime)
udtSystemTime.wSecond = Second(dtmNewFiletime)
udtSystemTime.wMilliseconds = 0
SystemTimeToFileTime udtSystemTime, udtLocalTime
LocalFileTimeToFileTime udtLocalTime, udtFileTime
lngHandle = CreateFile("D:\Eigene Dateien\test\Schleife_fuer_Array.xls" _
, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, _
ByVal 0&, OPEN_EXISTING, 0&, 0&)
GetFileTime lngHandle, udtFileTime1, udtFileTime2, udtFileTime3
SetFileTime lngHandle, udtFileTime, udtFileTime, udtFileTime
CloseHandle lngHandle
End Sub
------------------
Gruß
Nepumuk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP