【VBA】ファイル更新日(タイムスタンプ)が古いファイルを自動的に削除する方法
VBAでファイル更新日(タイムスタンプ)が古いファイルを自動的に削除したい人向けに書いています。
本記事の内容
VBA(マクロ)でファイル更新日(タイムスタンプ)が古いファイルを自動的に削除したいと思ったことはありませんか?
端末やサーバのストレージ容量不足をやりたいと思ったことはありませんか?
定期的に端末やサーバのストレージファイルを手動で削除していませんか?
VBAでファイル更新日(タイムスタンプ)が古いファイルを自動的に削除する方法を紹介します。
VBA(マクロ)でファイル更新日(タイムスタンプ)が古いファイルを自動的に削除する方法
以下がVBA(マクロ)でファイル更新日(タイムスタンプ)が古いファイルを自動的に削除するプログラムです。
- '*****************************************
- '* 指定ファイル更新日(タイムスタンプ)日数より古いファイルを削除
- '*****************************************
- Sub DELETE_FILE()
- Dim folder_path As String 'フォルダパス
- Dim extension As String '拡張子
- Dim file_name As String 'ファイル名
- Dim file_date As Date '更新日
- Dim Diff_day As Integer '更新後日数
- Dim Diff_month As Integer '更新後月数
- Dim Diff_year As Integer '更新後年数
- '削除対象フォルダパス
- folder_path = “C:\Users\Desktop\test"
- '削除対象拡張子
- extension = “xlsm"
- '削除対象ファイル名
- file_name = Dir(folder_path & “\*" & extension, vbNormal)
- Do Until file_name = “"
- 'ファイル更新日
- file_date = FileDateTime(folder_path & “\" & file_name)
- 'ファイル更新後日数
- Diff_day = DateDiff(“d", file_date, Now())
- 'ファイル更新後月数
- Diff_month = DateDiff(“m", file_date, Now())
- 'ファイル更新後日数
- Diff_year = DateDiff(“yyyy", file_date, Now())
- '指定ファイル削除
- If Diff_month > 1 Then
- Kill folder_path & “\" & file_name
- End If
- file_name = Dir()
- Loop
- End Sub
14行目:削除対象フォルダパスを設定
16行目:削除対象の拡張子を設定
32行目:削除対象ファイルの更新後年月日を指定する(本記事ではファイル更新後月数で設定しています)
まとめ
VBAでファイル更新日(タイムスタンプ)が古いファイルを自動的に削除する方法を紹介しました。
最後までご覧いただき、ありがとうございました。
「【ExcelVBA】Excelシートを上部から可変的に最終行まで順次処理する方法」
「【ExcelVBA】CSVデータ取り込み方法(0頭の数字文字列対応)」
「【ExcelVBA】別Excelファイルのシートデータ取り込み方法(複数ファイル・シート対応)」
も紹介していますので、もしよろしければこちらも御覧ください。
最近のコメント