VBAでファイルを削除する|サンプルコード多数

この記事では、Microsoft ExcelのVBA(Visual Basic for Applications)を用いて、ファイルを削除する方法について解説します。そのまま使えるサンプルコードを多数用意しています。

目次

VBAでファイルを削除する基本的な方法

Killステートメントとは?

VBAでファイルを削除する最も基本的な方法は、Killステートメントを使用することです。このKillステートメントは、指定したファイルパスに存在するファイルを削除する命令です。

基本形

基本的な形式は非常にシンプルです。

Kill targetFilePath

この一行で、指定したファイルパスのファイルを削除できます。

ワイルドカードの使用

また、Killステートメントでは、ワイルドカード(*)を使用して複数のファイルを一括で削除することも可能です。

Kill "C:\example\*.txt"

このコードは、C:\exampleフォルダ内の全ての.txtファイルを削除します。

サンプルコードとその解説

サンプル1:単一のファイルを削除する

このサンプルでは、特定のファイルを削除する方法を示します。

Sub DeleteOneFile()
    ' 削除するファイルのパスを指定
    Dim targetFilePath As String
    targetFilePath = "C:\example\sample.txt"
    
    ' Killステートメントでファイルを削除
    Kill targetFilePath
End Sub

サンプル2:複数のファイルを一括で削除する

このサンプルでは、特定の拡張子を持つ複数のファイルを一括で削除する方法を示します。

Sub DeleteManyFiles()
    ' 削除するファイルのパスを指定(ワイルドカード使用)
    Dim targetFilePaths As String
    targetFilePaths = "C:\example\*.txt"
    
    ' Killステートメントでファイルを一括削除
    Kill targetFilePaths
End Sub

サンプル3:ファイルの存在を確認してから削除する

このサンプルでは、ファイルが存在するかどうかを確認した上で、存在する場合のみ削除する方法を示します。

Sub DeleteFileAfterCheck()
    ' 削除するファイルのパスを指定
    Dim targetFilePath As String
    targetFilePath = "C:\example\sample.txt"
    
    ' Dir関数でファイルの存在を確認
    If Dir(targetFilePath) <> "" Then
        ' Killステートメントでファイルを削除
        Kill targetFilePath
    End If
End Sub

VBAでファイルを削除する際のFAQ

Q:Killステートメントで削除したファイルはゴミ箱に移動しますか?

A:いいえ、Killステートメントで削除したファイルはゴミ箱には移動せず、完全に削除されます。復元することはできませんので、使用する際には注意が必要です。

Q:ファイルが存在しない場合、Killステートメントを使用するとどうなりますか?

A:ファイルが存在しない場合、Killステートメントを使用するとエラーが発生します。そのため、Dir関数などで事前にファイルの存在を確認することが推奨されます。

Q:Killステートメントでフォルダも削除できますか?

A:いいえ、Killステートメントはファイルの削除専用です。フォルダを削除する場合は、RmDirステートメントを使用する必要があります。

Q:ワイルドカードを使って特定の拡張子だけを削除することは可能ですか?

A:はい、ワイルドカードを使用することで特定の拡張子を持つファイルを一括で削除することが可能です。例えば、Kill "C:\example\*.txt"とすると、C:\exampleディレクトリ内の全ての.txtファイルが削除されます。

Q:Killステートメントで複数の指定ファイルを削除する方法は?

A:Killステートメント自体は一度に一つのパターンしか削除できませんが、VBAのループ構文を使って複数のファイルを削除することは可能です。

Q:ファイルを削除する前に確認ダイアログを表示することはできますか?

A:VBAのMsgBox関数を使用して、確認ダイアログを表示することができます。ユーザーが「はい」を選択した場合のみ、Killステートメントを実行するようにプログラムを設計することが可能です。

Q:Killステートメントはどのような環境でも使用できますか?

A:KillステートメントはVBAが動作するアプリケーションであれば基本的に使用可能です。ただし、ファイルのパーミッションやアクセス権限によっては、削除できない場合もあります。

Q:Killステートメントで削除したファイルを復元する方法はありますか?

A:Killステートメントで削除したファイルは完全に削除されるため、VBAの標準機能で復元する方法はありません。復元が必要な場合は、専用のソフトウェアが必要となります。

Q:Killステートメントの代わりに他の方法でファイルを削除することはできますか?

A:はい、FileSystemObjectを使用する方法もありますが、その場合は事前に参照設定で「Microsoft Scripting Runtime」を追加する必要があります。

関連動画

まとめ

VBAでファイルを削除する方法は多く、その用途に応じて最適な方法があります。基本的なKillステートメントから、ファイルの存在確認まで、この記事で紹介したサンプルコードを活用して、効率的なファイル操作を行いましょう。

Excelのショートカットキーの練習

当サイトはショートカットキーの練習を実際の動きを確認しながら練習できる機能がついています。繰り返し指を動かして練習ができるので、ゲーム感覚で遊んでいくうちに自然とショートカットキーが使えるようになれます。ショートカットキーは暗記するよりも実際に手を動かして練習していったほうが習得が早くなるので、是非当サイトをブックマークに登録し定期的に練習してみてください。下記のSTARTキーを押下すると練習を始められます。

下のスタートボタンを押して練習モードに入ります。
STARTSTOP
※入力モード切り替え ctrl + shift + alt + space
PRE
NEXT
現在の問題をリストから除外
除外したリストをリセット
現在の除外状況のURL取得
コピー
ガイドモード
リピートモード

※推奨ブラウザ Google Chrome

PUSH ENTER
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次