構文
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メソッドはファイル削除→フォルダ削除の流れです。
コメント