【VBA】読み取り専用ファイルを削除する

この記事では
 ・読み取り専用ファイルを削除
する方法を記載します!

削除したいファイルの存在確認を行い、
存在する場合のみ削除します!
※存在しないファイルの削除を試みると、エラーとなるため

PR

VBAコード

ここでは例として、
 ・デスクトップ配下の読み取り専用ファイルを削除
します。

Option Explicit

Sub sample()
    
    Dim fso As Object
    Dim fileFullPath As String
    
    '削除するファイルのパスを指定
    fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの存在確認
    If fso.FileExists(fileFullPath) Then
        '削除
        Call fso.deleteFile(fileFullPath, True)
    End If
    
    '後片付け
    Set fso = Nothing
    
End Sub

「FileSystemObject」の「deleteFile」メソッドを
 ・第2引数Trueを指定して
 ・Callで呼び出す
ことで、読み取り専用ファイルを削除できます。
※読み取り専用でないファイルも削除できます。

ゴミ箱にも残らず完全に削除されます。

PR

備考(Killについて)

読み取り専用でないファイルならば、Killステートメントでも削除できます。
読み取り専用ファイルの削除をKillステートメントで試みると、以下のエラーとなります。

Killで削除した場合も、ゴミ箱に残らず完全に削除されます。

PR

参考

「FileSystemObject」の「deleteFile」メソッドの詳細については、公式サイトをご確認ください。

タイトルとURLをコピーしました