【エクセルVBA】最終更新日が指定日と一致しているデータを一括削除する方法!

このページでは、最終更新日が指定日と一致しているデータを一括削除する方法をご紹介していきます。

最終更新日が指定日と一致しているファイルを削除するという概要図

※上の画像のファイル名には日付が使われておりますが、どんなファイル名であっても対応可能になっています。

 

この内容は以前ご紹介させていただいた以下の記事に対していただいた質問への回答となっています。

【VBA】最終更新日からの経過日数に応じてファイルを一括削除する方法!

興味があればこちらもご覧ください。

 

それではさっそくやっていきましょう!

 

スポンサーリンク

最終更新日が指定日と一致しているデータを一括削除するサンプルコード

それでは早速ですが、以下がそのサンプルコードです。

Sub date_diff_file()
    Dim base_path, extension, file_name As String
    Dim file_date As Date
    Dim Diff_day, Diff_week, Diff_month As Integer
    Dim dyear, dmonth, 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をつかって最終更新日が指定日と一致しているファイルを一括削除する方法をご紹介しました。

データ整理の際などにぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました