OfficeType

VBA~ファイルを消去しよう~Excel

ファイルを消去したい時はKillステートメントを使います。

構文

Kill パス名

簡単な例

下のコードを実行するとCドライブのサンプルというテキストファイルが消去されます。

Sub test1()
Kill "D:\サンプル.txt"
End Sub

エラー回避

上の簡単な例では指定したファイルがない場合、エラーが表示されます。

image-01

そんな時はメッセージを表示するようにするとエラーが回避できます。下のコードはIf文の条件式にDir関数を使っています。Dir関数はDir(パス,属性)で属性に確認したいファイルの属性に対応した定数を指定します。属性を省略するとパスに一致する標準ファイルが返されるので今回は省略します。パスに確認したいファイルのパスを指定しファイルがあれば、ファイル名を返し、なければ長さ0の文字列""を返します。今回の場合はファイルがない場合にメッセージを表示するので条件式はDir("C:\サンプル.txt") = ""になり、Cドライブにサンプル.txtというファイルがない場合にメッセージが表示されExit Subでコードが終了します。ファイルがある場合はエラー回避は必要ないのでIfとEnd Ifの間に書かれたコードは実行しないのでExit Subは実行せずに最後に書かれているKill "C":\サンプル.txt"を実行しファイルを消去します。

Sub test2()
If Dir("C":\サンプル.txt") = "" Then
MsgBox "ファイルが存在しません"
Exit Sub
End If
Kill "C":\サンプル.txt"
End Sub

image-02