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



コメント