このページでは、最終更新日が指定日と一致しているデータを一括削除する方法をご紹介していきます。
※上の画像のファイル名には日付が使われておりますが、どんなファイル名であっても対応可能になっています。
この内容は以前ご紹介させていただいた以下の記事に対していただいた質問への回答となっています。
【VBA】最終更新日からの経過日数に応じてファイルを一括削除する方法!
興味があればこちらもご覧ください。
それではさっそくやっていきましょう!
最終更新日が指定日と一致しているデータを一括削除するサンプルコード
それでは早速ですが、以下がそのサンプルコードです。
Sub date_diff_file()
Dim base_path As String, extension As String, file_name As String
Dim file_date As Date
Dim Diff_day As Integer, Diff_week As Integer, Diff_month As Integer
Dim dyear Integer, dmonth Integer, dday As Integer
'ベースフォルダを指定
base_path = "C:\Users\Desktop\test\test"
'拡張子を指定(全部の場合は*)
extension = "JPG"
'日付けを指定
dyear = 2022
dmonth = 3
dday = 21
'最終更新日が指定日と一致するファイルを削除する
ddate = dyear & "/" & dmonth & "/" & dday
file_name = Dir(base_path & "\*" & extension, vbNormal)
i = 0
Do Until file_name = ""
file_date = Format(FileDateTime(base_path & "\" & file_name), "yyyy/mm/dd")
If file_date = ddate Then
Kill base_path & "\" & file_name
End If
file_name = Dir()
Loop
End Sub
7行目の処理を適用するフォルダ、9行目の処理を適用する拡張子の指定はあなたの状況に応じて適宜修正しましょう。
また、11~13行目にて処理を適用する日付を指定しています。
ここで指定して日付と一致したファイルを削除することになります。
間違えないように注意して指定しましょう。
サンプルコードの実行結果
それでは先ほどのコードを実行してみましょう。
今回は以下のフォルダの”.JPG”ファイルに対して処理を実行していきます。
今回は以下の設定で実行します。
dyear = 2022,dmonth = 3,dday = 21
2022/03/21が最終更新日のファイルのみ削除されれば成功ですね。
それでは実行してみます。
フォルダ内は以下のように変化しました。
問題なく処理が適用されているようですね。
おわりに
というわけで今回は、エクセルVBAをつかって最終更新日が指定日と一致しているファイルを一括削除する方法をご紹介しました。
データ整理の際などにぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント