
FileオブジェクトとFolderオブジェクトのDeleteメソッドについてです。
Deleteメソッド
概要
指定したファイルやフォルダーを削除します。
構文
【ファイルの場合】
FileObject.Delete [force]
【フォルダーの場合】
FolderObject.Delete [force]
[ ]は省略可
Deleteメソッドの引数
引 数 | 必須 / 省略可 | 詳 細 |
読み取り専用 | 省略可 | 読み取り専用属性が設定されているファイルやフォルダーの削除をBool値で指定。 |
VBAサンプル
ファイルの削除
FileオブジェクトのDeleteメソッドを使用するには、FileSystemObjectのGetFileメソッドでファイルを指定後Fileオブジェクトが返るので、FileオブジェクトのDeliteメソッドを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub test() '変数 Dim fso As Object Dim f As File 'FileSystemObjectをセット Set fso = CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのGetFileメソッドでFileオブジェクトをセット Set f = fso.GetFile("D:\FSO\Folder1\test1.txt") 'FileオブジェクトのDeleteメソッドで削除 f.Delete End Sub |
もしくは下記のような短縮した書き方も可能です。
1 2 3 4 5 6 7 8 | Sub test2() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのGetFileメソッドでFileオブジェクトが返るのでDeleteメソッドを使用 fso.GetFile("D:\FSO\Folder1\test1.txt").Delete End Sub |
※複数のファイルを削除する場合は、FileSystemObjectのDeleteFileメソッドを使用します。
フォルダーの削除
FolderオブジェクトのDeleteメソッドを使用するには、FileSystemObjectのGetFolderメソッドでフォルダーを指定後Folderオブジェクトが返るので、FolderオブジェクトのDeliteメソッドを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub test3() '変数 Dim fso As Object Dim fol As Folder 'FileSystemObjectをセット Set fso = CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのGetFolderメソッドでFolderオブジェクトをセット Set fol = fso.GetFolder("D:\FSO\Folder1") 'FolderオブジェクトのDeleteメソッドで削除 fol.Delete End Sub |
もしくは下記のような短縮した書き方も可能です。
1 2 3 4 5 6 7 | Sub test4() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") fso.GetFolder("D:\FSO\Folder1").Delete End Sub |
※複数のフォルダーを削除する場合は、FileSystemObjectのDeleteFolderメソッドを使用します。