![Excel VBA フォルダ内のファイルをすべて削除するサンプル](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel00.webp)
Excel VBAを使ってフォルダ内のファイルをすべて削除する方法の記録です。
ブログ用に画像を準備して、ブログ完成後にはその画像たちを一気に削除したいけど、フォルダ開いて、全部選択して、Deleteキー押すのが面倒だなと思ったのでサンプルを作ってみました。
「Kill」ステートメントを使います。
< スポンサーリンク >
決まったフォルダの中のファイルを全部削除する
いつも決まったフォルダの中のファイルを全部削除する方法です。
![ファイルを全部削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel01.webp)
フォルダと、「*」(ワイルドカード)で全てのファイルを指定し「Kill」ステートメントで削除します。
Sub sakujo()
Kill "C:\Users\admin\Desktop\newフォルダ\*"
End Sub
![ファイル全削除コード](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel02.webp)
実行すると、フォルダの中身が削除されました。
![フォルダ内全削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel03.webp)
自分のブックのフォルダの中のファイルを全部削除する
自分のブックが保存されているフォルダの中のファイルを全部削除する方法です。
![自分のブック以外全削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel04.webp)
フォルダの中のファイルで自分のブック名と違う場合は、「Kill」ステートメントで削除します。
Sub sakujo1()
'このブックのフォルダパス
Dim DirPath As String
'ファイルシステムオブジェクト
Dim FSO As Object
'ファイルオブジェクト
Dim FileObj As Object
'アクティブなファイルオブジェクト
Dim acFileObj As Object
'このブックのフォルダパスを変数に入れる
DirPath = ThisWorkbook.Path
'ファイルシステムオブジェクトのセット
Set FSO = CreateObject("Scripting.FileSystemObject")
'フォルダ内のファイルのセット
Set FileObj = FSO.GetFolder(DirPath).Files
'フォルダ内ファイルループ
For Each acFileObj In FileObj
'このブック名と一時ファイル名が違ったら削除
If acFileObj.Name <> ThisWorkbook.Name And _
acFileObj.Name <> "~$" & ThisWorkbook.Name Then
Kill DirPath & "\" & acFileObj.Name
End If
Next acFileObj
End Sub
![自分のブック以外全削除コード](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel05.webp)
実行すると、フォルダの中身の自分のブック以外のファイルが削除されました。
![自分のブック以外全削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel06.webp)
ダイアログボックスでフォルダを指定してファイルを全部削除する
ダイアログボックスでフォルダを指定してファイルを全部削除します。
Sub sakujo2()
'フォルダを選択するダイアログボックスを開いて
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
'選択されたフォルダの中身を削除
Kill .SelectedItems(1) & "\*"
End If
End With
End Sub
![ダイアログボックスでフォルダ内を全削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel07.webp)
実行すると、ダイアログボックスが出てきましたので、フォルダを指定し[OK]をクリックします。
![フォルダ指定](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel08.webp)
フォルダの中身が全部削除されました。
![ダイアログボックスでフォルダ内を全削除](https://lilia-study.com/wp-content/uploads/2023/11/folder-alldel03.webp)
こんな記事も書いています