ファイルの更新日時を変更するには Shell オブジェクトを使う。
サンプルスクリプト
次のスクリプトは、ファイル(C:\path\to\folder\filename.txt)の更新日時をシステム日時に変更する。
Dim shell Set shell = CreateObject("Shell.Application") Dim folder Set folder = shell.NameSpace("C:\path\to\folder") Dim file Set file = folder.ParseName("filename.txt") file.ModifyDate = Now
説明
Shell.Application オブジェクトを生成する。
Set shell = CreateObject("Shell.Application")NameSpace メソッドを使って、指定したフォルダーのオブジェクトを取得する。
Set folder = shell.NameSpace("C:\path\to\folder")フォルダーオブジェクトの ParseName メソッドで、フォルダーにあるファイルのオブジェクトを取得する。
Set file = folder.ParseName("filename.txt")ファイルオブジェクトの ModifyDate プロパティに変更後の日時を設定する。
file.ModifyDate = Now【補足】
フォルダーオブジェクト、ファイルオブジェクトとあるが、FileSystemObject のオブジェクトとは別物。
FileSystemObject のファイルオブジェクトは DateLastModified プロパティで更新日時を取得できるが、変更はできない。