VBAで
・ファイルの更新日時を変更
できます!
VBAから
・Power Shellのコマンドレットを実行
することで実現します!
VBAコード
ここでは例として
・デスクトップ配下のファイル「aiueo.txt」の
・更新日時を変更
します。
※「2022年12月1日 0:00:00」から「2022年12月5日 12:00:00」へ変更します。
Option Explicit
Sub sample()
Dim targetFile As String
Dim lastWriteTime As String
Dim psCommand As String
Dim wsh As Object
Dim result As Integer
'対象ファイル
targetFile = "C:\Users\user\Desktop\aiueo.txt"
'変更後の日時
lastWriteTime = "2022/12/05 12:00:00"
'PowerShellのコマンドレットを組み立て
psCommand = "powershell -NoProfile -ExecutionPolicy Unrestricted "
psCommand = psCommand & "Set-ItemProperty " & targetFile & " -name LastWriteTime -value '" & lastWriteTime & "'"
Set wsh = CreateObject("WScript.Shell")
'PowerShellのコマンドレットを実行
result = wsh.Run(command:=psCommand, WindowStyle:=0, WaitOnReturn:=True)
If (result = 0) Then
MsgBox ("正常終了しました。")
Else
MsgBox ("異常終了しました。")
End If
'後片付け
Set wsh = Nothing
End Sub
実行結果
ファイルの更新日時を変更できました。
※「2022年12月1日 0:00:00」から「2022年12月5日 12:00:00」へ変更できました。
参考①
上記のVBAコードは以下の記事を参考にして作成しました。
参考②
ファイルの更新日時を取得することもできます。
詳細は以下の記事をご確認ください。
参考③
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Set-ItemProperty」コマンドレット