構文
Object.DeleteFilefilespec [, force]
filespec・・・削除するファイルパスを指定 削除するファイルパスはワイルドカード指定可能。
force・・・・・読み取り専用をファイルを削除 True→する/False→しない 省略時Falseが初期値
force・・・・・読み取り専用をファイルを削除 True→する/False→しない 省略時Falseが初期値
filespecで指定したフォルダを削除します。
forceをFalseにした場合は読み取り専用ファイルがあった場合、エラー発生しファイル削除できません。
forceをFalseにした場合は読み取り専用ファイルがあった場合、エラー発生しファイル削除できません。
DeleteFileメソッドのサンプルコード
Public Sub sample() '■FileSystemObjectの宣言 Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject") '■読み取り専用ファイルも含めて削除 fso.DeleteFile "C:\vba1\sample.xlsx", True '■読み取り専用ファイルがあれば削除しない。 fso.DeleteFile "C:\vba1\aaa.png", False '■ワイルドカード使用して、該当ファイルすべて削除 fso.DeleteFile "C:\vba1\*.png" End Sub
注意点
- ファイルが存在しなければエラー発生します。FileExistsで事前確認必要です。
実行時エラー53「ファイルが見つかりません。」 - force=False時、読み取りファイルが存在すれば、削除できずエラー発生します。
実行時エラー70「書き込みできません。」 - つまり、FolderDeleteメソッドはファイル削除→フォルダ削除の流れです。
コメント