
FileSystemObjectのDeleteFileメソッドについてです。
Menu
DeleteFileメソッド
概要
指定したファイルを削除します。
構文
FileSystemObject.DeleteFile filespec,[force]
[ ]は省略可という意味
DeleteFileメソッドの引数
引 数 | 必須 / 省略可 | 詳 細 |
削除するファイル | 必須 | ・削除するファイルパスを指定。 (削除するファイルがない場合はエラー) ・ワイルドカードで複数削除可。 (*.txt とか *.xlsx など) |
読み取り専用 (force) | 省略可 | ・読み取り専用属性が設定されたファイルを削除するかbool値で指定。 True:削除する False:削除しない(既定値) ※読み取り専用ファイルを削除する場合、True指定しないとエラー。 |
VBAサンプル
ファイルを削除
test1.txtを削除
1 2 3 4 5 6 7 8 | Sub ファイル削除() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'test1.txtを削除 fso.DeleteFile "D:\FSO\test1.txt" End Sub |
複数のファイルを削除
ワイルドカードでcsvファイルを全削除
1 2 3 4 5 6 7 8 | Sub 複数ファイルを削除() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'ワイルドカードでcsvファイルを全削除 fso.DeleteFile "D:\FSO\*.csv" End Sub |
読み取り専用ファイルの削除
エクセルファイルのtest1.xlsxが読み取り専用ファイルの場合の削除
(第2引数→True)
1 2 3 4 5 6 7 8 | Sub 読み取り専用ファイル削除() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'エクセルファイルのtest1.xlsxが読み取り専用ファイルの場合の削除(第2引数→True) fso.DeleteFile "D:\FSO\test1.xlsx", True End Sub |
※もし第2引数をTrue指定しないと下記のようなエラー表示がでます。