FileSystemObjectオブジェクト - DeleteFolderメソッド


【書式】

FileSystemObject.DeleteFolder folderspec[, force]

指定したフォルダと、そのフォルダ内の全てのファイルを削除します。

引数folderspecには削除するフォルダの名前を指定します。存在しないフォルダ名を指定するとエラーになります。フォルダが存在するかどうか調べるにはFolderExistsメソッドを使います。

引数forceは省略可能です。Trueを指定すると読み取り専用ファイルも削除されます。省略するとFalseとみなされます。

DeleteFolderメソッドは、まずフォルダ内の全てのファイルを削除してからフォルダを削除しようとします。フォルダ内に読み取り専用ファイルが存在し、引数forceにFalseを指定した場合、読み取り専用ファイルを削除しようとした時点でエラーが発生します。エラーが発生する前に、読み取り専用でないファイルが削除されることもあります。ちなみに、存在しないフォルダ名を指定したときのエラーコードは76で、読み取り専用ファイルを削除できなかったときのエラーコードは70です。ファイルの属性を調べるには、FileオブジェクトのAttributesプロパティを使います。

Sub test8()
    ''C:\Work\フォルダを削除します
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.DeleteFolder "C:\Work"
    Set FSO = Nothing
End Sub