Vba を使用してフォルダーを削除する方法 (例付き)
VBA で次のメソッドを使用してフォルダーを削除できます。
方法 1: フォルダー内のすべてのファイルを削除する
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
この特定のマクロは、 My_Dataというフォルダー内のすべてのファイルを削除します。
方法 2: フォルダー全体を削除する
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
この特定のマクロは、 My_Dataフォルダー全体を削除して、存在しなくします。
On Error Resume Next行は、エラーが発生してフォルダーが見つからない場合にエラー メッセージを表示しないように VBA に指示します。
次に、 On Error GoTo 0を使用して、エラー メッセージをデフォルト設定にリセットします。
フォルダーが見つからない場合にエラー メッセージを表示したい場合は、コードからこれらの 2 行を削除するだけです。
次の例は、3 つの Excel ファイルを含むMy_Dataという名前のフォルダーを使用して各メソッドを実際に使用する方法を示しています。
例 1: VBA を使用してフォルダー内のすべてのファイルを削除する
VBA を使用して、 My_Dataというフォルダーからすべてのファイルを削除するとします。
これを行うには、次のマクロを作成できます。
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
このマクロを実行してフォルダーを再度開くと、すべてのファイルが削除されていることがわかります。
例 2: VBA を使用してフォルダー全体を削除する
VBA を使用してMy_Dataというフォルダー全体を削除して存在しないようにする場合は、次のマクロを作成できます。
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
このマクロを実行してエクスプローラーを開くと、 My_Dataというフォルダーが存在しないことがわかります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: ワークブック内のシート数を数える方法
VBA: 別のブックからデータを抽出する方法
VBA: 名前に特定のテキストが含まれている場合にシートを削除する方法