この記事では
・読み取り専用ファイルを削除
する方法を記載します!
削除したいファイルの
・存在確認を行い、
・存在する場合のみ削除
します!
※存在しないファイルの削除を試みるとエラーとなるため。
VBAコード
ここでは例として、
・デスクトップ配下の読み取り専用の設定をしたファイル「aiueo.txt」を削除
します。
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
'削除
fso.deleteFile fileFullPath, True
End If
'後片付け
Set fso = Nothing
End Sub
備考(Killステートメントについて)
読み取り専用でないファイルならば、「Killステートメント」でも削除できます。
読み取り専用ファイルの削除を「Killステートメント」で試みると、以下のエラーとなります。
参考①
「ステートメント」の詳細は以下の記事をご確認ください。
参考②
読み取り専用ファイルが格納されたフォルダも削除できます。
詳細は以下の記事をご確認ください。
参考③
ファイルの存在有無の確認については、以下の記事をご確認ください。
参考④
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「FileSystemObject」の「deleteFile」メソッド