VBAで
・○○以前に更新されたファイルを削除
できます!
※例えば「本日日付」と「ファイルの更新日時」の差が7日以上のファイルを削除できます。
つまり
・ログローテーション
できます!
VBAコード
ここでは例として
・デスクトップ上のフォルダ「test」の配下のファイル「*.log」の
・「本日日付」と「ファイルの更新日時」の差が7日以上のファイルを削除
します。
※今回は「本日:2022/12/10」、「7日以前:2022/12/03以前」です。
Option Explicit
Sub sample()
Dim inputFolder As String
Dim today As Date
Dim fso As Object
Dim file As Object
Dim filModified As Date
Dim dDiff As Long
'対象フォルダ
inputFolder = "C:\Users\user\Desktop\test"
'本日日付を取得
today = Date
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイル数分繰り返し
For Each file In fso.GetFolder(inputFolder).Files
'ファイルの更新日時を取得
filModified = Format(file.DateLastModified, "yyyy/mm/dd")
'本日日付とファイルの更新日時の差を取得
dDiff = DateDiff("d", filModified, today)
'ファイルの更新日時と本日日付の差が7日以上の場合は削除
If 7 <= dDiff Then
fso.deleteFile file.Path, True
End If
Next
'後片付け
Set fso = Nothing
MsgBox "正常終了しました。"
End Sub
実行結果
○○以前に更新されたファイルを削除できました。
※「本日日付」と「ファイルの更新日時」の差が7日以上のファイルを削除できました。
参考①
上記のVBAコードは以下の記事を参考にして作成しました。
詳細は以下の記事をご確認ください。
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●Date関数