ファイルの削除

ファイルを削除する。

FileSystemObjectのDeleteFileメソッドを利用しファイルを削除することができます。

DeleteFileには下記の引数が設定できます。

引数名説明省略
第1引数folderspec削除するファイルパスの指定不可
第2引数force読み取り専用属性の削除判定
True:削除する、False:削除しない(規定値)

削除時にワイルドカードを使用して複数のファイルをまとめて削除させることもできます。
削除したいファイルが読み取り専用となってあり、削除できない場合は第2引数(force)に True を設定します。

 ●ファイルの削除

'******************************************************************
' ファイルの削除
'******************************************************************
Sub Main_DeleteFile()

    '削除先のファイルパスの指定
    Dim sFile As String
    sFile = "C:\VBA\FSO\memo.txt"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの削除
    Call oFso.DeleteFile(sFile)

End Sub

 ●複数のファイルをまとめて削除

'******************************************************************
' ファイルの削除(まとめて削除)
'******************************************************************
Sub Main_DeleteFile_ALL()
    
    '削除先のファイルパスの指定(ワイルドカード使用)
    Dim sFile As String
    sFile = "C:\VBA\FSO\memo*xt"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの削除
    Call oFso.DeleteFile(sFile)

End Sub

 ●読み取り専用のファイルの場合

'******************************************************************
' ファイルの削除(読み取り専用ファイルを削除)
'******************************************************************
Sub Main_DeleteFile_Force()
    
    '削除先のファイルパスの指定
    Dim sFile As String
    sFile = "C:\VBA\FSO\memo.txt"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'フォルダの削除
    Call oFso.DeleteFile(sFile, True)

End Sub