こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。
皆さんは、VBAでファイルの削除をする方法を知っていますか? ちょっとしたフォルダ整理をしたいとき、フォルダ管理ツールを作りたいときなど、ファイルの削除方法を知っているととても便利です。
そこで今回は、
- ファイルパスを指定して削除する方法
- フォルダ内のファイルを一括で削除する方法
- ファイル削除以外のファイル操作方法
といった基礎的なことから、応用的な方法まで、徹底的に解説します!
VBAでファイルを削除する方法とは
最初に、VBAでファイルを削除する方法について解説します。以下のように書くことで、ファイルを削除することができます。
Kill ファイルパス
とてもシンプルですよね。
ファイルパスのファイル名はワイルドカード(*)が使えるため、複数のファイルを一括で削除することもできます。
No | ファイル名 | 意味 |
---|---|---|
1 | *.* | 全てのファイル |
2 | Sample* | ファイル名がSampleで始まる全てのファイル |
3 | *Sample | ファイル名がSampleで終わる全てのファイル |
4 | *.xlsx | 拡張子が 「 .xlsx 」 のすべてのファイル |
サンプルコード
次に、サンプルコードをもとに具体的な使い方を解説します。
ファイルパスを指定して削除
まずは、1ファイルのみ削除するケースですね。
実行前:
サンプルコード:
Sub Test1() Dim filePath As String filePath = ThisWorkbook.Path & "" Kill filePath & "削除ファイル.xlsx" End Sub
実行後:
VBAのファイルと同じパスにある、「削除ファイル.xlsx」を削除しています。このように、簡単にファイルを削除することができます。
フォルダを指定してすべて削除
次に、一括でファイルを削除する方法について解説します。
実行前:
サンプルコード:
Sub Test2() Dim filePath As String filePath = ThisWorkbook.Path & "" Kill filePath & "*.txt" End Sub
実行後:
拡張子が「.txt」のファイルをすべて削除するサンプルです。ワイルドカード(*)さえ覚えておけば簡単に一括削除することができます。
削除するファイルがなかった場合の対処方法
Killステートメントはとても便利なのですが、既にファイルが削除されていた場合、エラーメッセージが出てしまいます。そのため、事前にファイルがあるか確認する処理を入れるのがおすすめです。
Dir関数を使えば簡単にファイルの存在チェックができるので、使い方がわからない方は以下を見るのがおすすめです!
補足:ファイル操作について詳しく知りたい方へ
今回はファイル削除に特化して解説していますが、ファイル操作は一通り覚えておくと応用が利くのでおすすめです!
ファイルオープン、ファイル出力、名前を付けて保存、上書き保存などそれぞれ詳しく以下でまとめているので、ぜひ見てみてくださいね!
まとめ
今回は、VBAでファイルを削除する方法について解説しました。ファイル操作ができると、ちょっとした便利ツールが作れるのでおすすめです!
今回解説したKillステートメントは使い方も簡単なので、ぜひ使ってみてくださいね!