機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > FileSystemObject

Folderオブジェクト - Deleteメソッド



【書式】
Folder.Delete force

指定したフォルダと、そのフォルダ内の全てのファイルを削除します。
引数folderspecには削除するフォルダの名前を指定します。存在しないフォルダ名を指定するとエラーになります。フォルダが存在するかどうか調べるには、FileSystemObjectオブジェクトのFolderExistsメソッドを使います。

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

FolderオブジェクトのDeleteメソッドは、FileSystemObjectオブジェクトのDeleteFolderメソッドと同じ働きをします。
Sub test55()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''C:\Workフォルダを削除します
    FSO.GetFolder("C:\Work").Delete
    Set FSO = Nothing
End Sub



このエントリーをはてなブックマークに追加