エクセルVBAを利用して、フォルダから要らないファイルを自動で削除するコードを紹介します。
Dir関数とKillステートメントの合わせ技になります。
非常に簡単なコードになっています。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、フォルダに保存されている要らないファイルを削除するエクセルVBAコードを紹介します。
フォルダを開いて一つずつファイル名を確認して、ではなくて、コード実行一発でササッと完了します。
- ブックの知識
- ブックの操作
- ワークブックを開くOpenメソッドの書き方 Excelマクロ
- VBA ブック名の取得法4つの解決策を詳しく解説
- VBA 開く,保存,閉じる,作成,削除 ブックの存在確認後のコード記述
- ファイルの保存に年月日+時刻を付けて管理する
- VBA 保存先フォルダをダイアログ指定で変数化
- 新規ブック5つの保存法。AddとSaveAsの使い方がわかる
- セル値を使いブック名として保存。統一フォームに有用
- VBA シートをブックから切り出し名付け保存する
- ブック名に作成者名を付加。 プロパティ変更とファイル保存
- 不要フォルダを削除する2種類のコードの作成
- 要らないファイルを自動削除するコードの作成
- ワークブックを閉じる12のパターン使い分け VBA最速理解
- ピンポイントでファイルを完全に削除するマクロ(コピペ可)
コンテンツ
要らないファイルを自動削除するコード
このコードを作成するには、Dir関数とKillステートメントを使って作成します。
Dir関数について
Dir関数は、そのファイルが存在するかどうかを調べられる関数です。戻り値のデータ型はString型です。
記述方法
Dir ( pathname, attributes )
pathname・・・検索するファイル名、フォルダ名
複数のファイルを指定するためのアスタリスク(*)や疑問符(?)のワイルドカード文字が使えます。
sttributes ・・・属性 省略可能です。
定数 | 値 | 内容 |
---|---|---|
vbNormal | 0 | 標準ファイル(既定値) |
vbReadOnly | 1 | 読み取り専用ファイル |
vbHidden | 2 | 隠しファイル |
vbSystem | 4 | システムファイル |
vbVolume | 8 | ボリュームラベル |
vbDirectory | 16 | フォルダ |
使い方
Dir関数は、戻り値として、pathnameで指定したファイル名と一致したファイル名がある時そのファイル名を返します。
ワイルドカードを使った場合は、最初に検索されたファイル名を返します。
もし、指定されたファイルが検索できないときは、空文字「””」を返します。
Killステートメントについて
filenameで指定したファイルを削除します。完全に削除されますので、ゴミ箱にも残りません。
ワイルドカードを使えば、複数のファイルを同時に削除することもできます。
記述方法
Kill filename
filename・・・削除するファイル名
複数のファイルを指定するためのアスタリスク(*)や疑問符(?)のワイルドカード文字が使えます。
使い方
フォルダ内に該当するファイルがない場合はエラーストップします。
エラーストップ防止コードの設置が必要です。
ワイルドカードを使ってファイル名を指定すると、実行時に一度に該当ファイルが削除されます。
Do~Loopなどで繰り返す必要はありません。
今回の例題
PDFファイルで、不要なファイルを指定して削除します。
同じフォルダ内に削除コードを作成したエクセルファイルを入れておきます。
ファイル自動削除コードは
自動削除コード
Dir関数でファイルの存在を調べます。
Killステートメントは、指定されたファイルを一度に削除しますので、ループ実行させる必要はありません。
Sub DirKillサンプル1()
Dim mypath As String
Dim myfile As String
mypath = ThisWorkbook.Path & "\"
'削除したいファイルが存在するか
If Dir(mypath & "*999999*.PDF") <> "" Then
'ファイルを削除する
Kill mypath & "*999999*.PDF"
Else
'見つからない場合のメッセージ
MsgBox "削除予定ファイルは見つかりませんでした。"
End If
End Sub
実行結果
要らないファイルを自動削除するコードの作り方まとめ
Killステートメントを利用するための注意点として、エラーストップの対処がポイントになります。
その対処のために、Dir関数を使って削除対象ファイルがあるかどうかを調べることになります。
コードとしても、簡単なコードに纏まりますので、パターンを公式的に覚えておけば便利かと思います。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。