VBA~ファイルを消去しよう~Excel
ファイルを消去したい時はKillステートメントを使います。
構文
Kill パス名
簡単な例
下のコードを実行するとCドライブのサンプルというテキストファイルが消去されます。
Sub test1() Kill "D:\サンプル.txt" End Sub
エラー回避
上の簡単な例では指定したファイルがない場合、エラーが表示されます。
そんな時はメッセージを表示するようにするとエラーが回避できます。下のコードは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