Vba を使用してファイルを削除する方法 (例付き)
VBA でKillステートメントを使用すると、特定のフォルダー内の特定の Excel ファイルを削除できます。
このステートメントを実際に使用する一般的な方法は次のとおりです。
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
この特定のマクロは、次のフォルダーにあるSoccer_data.xlsxという Excel ファイルを削除します。
C:\ユーザー\ボブ\デスクトップ\My_Data
On Error Resume Next行は、エラーが発生してファイルが見つからない場合にエラー メッセージを表示しないように VBA に指示します。
次に、 On Error GoTo 0を使用して、エラー メッセージをデフォルト設定にリセットします。
ファイルが見つからない場合にエラー メッセージを表示したい場合は、コードからこれらの 2 行を削除するだけです。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用してファイルを削除する
3 つの Excel ファイルを含む次のフォルダーがあるとします。
VBA を使用して、 Soccer_data.xlsxというファイルを削除するとします。
これを行うには、次のマクロを作成できます。
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
このマクロを実行してフォルダーを再度開くと、 soccer_data.xlsxというファイルが削除されていることがわかります。
他のすべてのファイルはフォルダー内にそのまま残りました。
ファイルが存在しない場合にエラー メッセージを表示したい場合は、次のマクロを使用できます。
SubDeleteFile ()
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
End Sub
このマクロを実行すると、次のエラー メッセージが表示されます。
Soccer_data.xlsxファイルはすでに削除されており、フォルダー内に存在しないため、このエラー メッセージが表示されます。
注: Killステートメントはファイルを永久に削除するものであり、単にファイルをゴミ箱に送るものではないことに注意してください。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: ワークブック内のシート数を数える方法
VBA: 別のブックからデータを抽出する方法
VBA: 名前に特定のテキストが含まれている場合にシートを削除する方法