【ExcelVBA】ファイルの削除

ExcelVBA, ファイルの操作

ファイル削除の基本

ファイル削除は killステートメント または CreateObject関数 を使用します。

kill ステートメント

Sub Sample()
	Kill "E:\TEST\Sampl*.txt"
End Sub
ワイルドカードの使用が可能です。
※ファイルが存在しない場合、エラーになります。
※ゴミ箱には入りません。完全削除になります。

CreateObject("Scripting.FileSystemObject")

Sub Sample()
	With CreateObject("Scripting.FileSystemObject")
		.DeleteFile "E:\TEST\Sample1.txt"
    .DeleteFile "E:\TEST\Sample2.txt"
    .DeleteFile "E:\TEST\Sample3.txt"
	End With
End Sub
※Scripting.FileSystemObject の場合、ワイルドカードは使用できません。
※ファイルが存在しない場合、エラーになります。
※ゴミ箱には入りません。完全削除になります。

削除対象のファイルが存在しないことで発生するエラーを無視する

On Errorステートメント でエラーを無視させます。

kill ステートメント

Sub Sample()

  On Error Resume Next

  Kill "E:\TEST\Sampl*.txt"
  
  On Error GoTo 0

End Sub


CreateObject("Scripting.FileSystemObject")

Sub Sample()

	On Error Resume Next
	
	With CreateObject("Scripting.FileSystemObject")
		.DeleteFile "E:\TEST\Sample1.txt"
    .DeleteFile "E:\TEST\Sample2.txt"
    .DeleteFile "E:\TEST\Sample3.txt"
	End With
	
  On Error GoTo 0

End Sub