ExcelVBA Killで指定したフォルダのファイルを自動削除して整理する方法

 

ExcelVBA Killで指定したファイルをプログラムで削除することができます。これにより、不要なファイルの整理や自動化されたファイル管理が可能になります。

使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA Killの利用

以下のようなシーンで利用されます。

1.毎日生成されるバックアップファイルを一定期間経過後に削除する。

2.テンポラリファイル(作業用ファイル)を作業終了後に自動で削除する。

3.古いデータファイルを定期的に削除してストレージを確保する。

Excel VBA Kill|使い方とポイント

使い方

Kill ステートメントを使用してファイルを削除します。ファイルのパスを指定することで、そのファイルを削除できます。

ポイント

1. ファイルが存在しない場合
指定したファイルが存在しないとエラーが発生します(ランタイムエラー)。

2. 削除の確認
Kill ステートメントは確認メッセージを表示せずに削除を実行するため、誤操作に注意が必要です。

3. ロックされているファイル
他のプログラムで使用中のファイルは削除できません。

4. 削除の取り消し不可
削除されたファイルはごみ箱に移動せず完全に削除されます。

 

Excel VBA Killのサンプルコード

 

特定のフォルダーにあるファイルを削除するコード
Option Explicit

Sub DeleteFile()
    Dim filePath As String
    ' 削除したいファイルのパスを指定
    filePath = "C:\Users\User\Desktop\sourceFile\motofile.txt"
    
    ' ファイルが存在するか確認
    If Dir(filePath) <> "" Then
        ' ファイルを削除
        Kill filePath
        MsgBox "ファイルを削除しました: " & filePath
    Else
        MsgBox "ファイルが見つかりません: " & filePath
    End If
End Sub

1. Dir 関数を使用してファイルの存在を確認します。

2. 存在する場合は Kill ステートメントで削除を実行します。

3. 結果を MsgBox でユーザーに通知します。

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

指定したフォルダー内のすべての .txt ファイルを削除する。

Option Explicit

Sub DeleteAllTextFiles()
    Dim folderPath As String
    Dim fileName As String
    
    ' フォルダーのパスを指定
    folderPath = "C:\Users\User\Desktop\sourceFile\"
    fileName = Dir(folderPath & "*.txt")
    
    ' フォルダー内のすべての .txt ファイルを削除
    Do While fileName <> ""
        Kill folderPath & fileName
        fileName = Dir ' 次のファイルを取得
    Loop
    
    MsgBox "すべての .txt ファイルを削除しました: " & folderPath
End Sub

KILL実行前に削除対象のファイルやフォルダーを慎重に確認して、削除前にコピー(バックアップ)する処理を追加してください。

記憶定着問題集

操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。

1. ●●● 関数を使用してファイルの存在を確認します。

2. 存在する場合は ●●● ステートメントで削除を実行します。

3. 結果を MsgBox でユーザーに通知します。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問