Killの概要
| ファイル削除 VBAの予約語 | ||
|
Kill 概要 Kill ステートメントは、指定したファイルを削除するために使用されます。 わかりやすく説明 Kill は、ファイルを削除するために使用されます。一度実行するとゴミ箱には入らず、完全に削除されるため注意が必要です。 |
||
|
Killの基本的な使い方
Kill ステートメントを使用すると、特定のファイルを削除できます。
Sub DeleteFile()
Dim filePath As String
filePath = "C:\Temp\sample.txt"
' ファイルが存在するか確認してから削除
If Dir(filePath) <> "" Then
Kill filePath
MsgBox "ファイルを削除しました。", vbInformation, "削除完了"
Else
MsgBox "ファイルが見つかりません。", vbExclamation, "エラー"
End If
End Sub
解説:
Kill filePathで指定したファイルを削除します。- 削除前に
Dir(filePath)を使用して、ファイルの存在を確認しています。 - 削除が成功すると、メッセージボックスで通知します。
ワイルドカードを使用して複数のファイルを削除
ワイルドカードを使うことで、特定のパターンに一致する複数のファイルを削除できます。
Sub DeleteMultipleFiles()
Dim filePattern As String
filePattern = "C:\Temp\*.txt" ' すべてのTXTファイルを削除
' ワイルドカードを使用して一括削除
Kill filePattern
MsgBox "すべてのTXTファイルを削除しました。", vbInformation, "削除完了"
End Sub
解説:
Kill "C:\Temp\*.txt"を使用すると、C:\Tempフォルダ内のすべての.txtファイルを削除します。- 削除対象のファイルがない場合、エラーは発生しません。
エラーを回避する方法
削除時にエラーを回避するために、エラーハンドリングを追加することを推奨します。
Sub SafeDeleteFile()
Dim filePath As String
filePath = "C:\Temp\sample.txt"
On Error Resume Next ' エラーを無視する
Kill filePath
' エラーが発生したか確認
If Err.Number <> 0 Then
MsgBox "ファイルの削除に失敗しました: " & Err.Description, vbExclamation, "エラー"
Err.Clear
Else
MsgBox "ファイルを削除しました。", vbInformation, "削除完了"
End If
End Sub
解説:
On Error Resume Nextを使用し、エラーを無視します。- 削除後に
Err.Numberを確認し、エラーが発生した場合はメッセージを表示します。 - エラーがなければ、通常通り削除完了のメッセージを表示します。
Killの注意事項
- 削除したファイルは復元不可: ゴミ箱には入らず完全に削除されます。
- フォルダは削除できない: Kill ステートメントはファイル専用です。フォルダを削除するには
RmDirを使用します。 - ファイルが開いていると削除できない: 削除対象のファイルが他のプログラムで開かれている場合、エラーが発生します。
- ワイルドカード使用時の注意: ワイルドカードを使用すると、一度に多くのファイルが削除されるため、慎重に使用してください。
よくある質問
- Q: Kill ステートメントで削除したファイルは復元できますか?
- A: いいえ。ゴミ箱に入らず完全に削除されるため、復元はできません。
- Q: フォルダごと削除できますか?
- A: いいえ。Kill はファイル専用です。フォルダを削除するには
RmDirを使用します。 - Q: 開いているファイルを削除できますか?
- A: いいえ。他のプログラムで開いているファイルは削除できません。
- Q: ワイルドカードを使うとどのような影響がありますか?
- A: 指定した条件に合致するすべてのファイルが削除されるため、誤操作に注意が必要です。
まとめ
- Kill ステートメントを使うとファイルを削除できる。
- ワイルドカードを使うと複数のファイルを一括削除できる。
- 削除したファイルはゴミ箱に入らず、完全に削除される。
- フォルダの削除には
RmDirを使用する。 - 削除時のエラーを防ぐため、エラーハンドリングを活用する。