【VBA】ファイルの属性(読み取り専用等)を変更する

ファイルの属性(読み取り専用等)を変更する方法は
2種類あります!

どちらの方法でも可読性に違いは無いと思うため、
ここでは両方のやり方を記載します!

ここでは
 ・属性を「読み取り専用」へ変更するVBAコード
を記載します!

FileSystemObjectを使用する方法

「FileSystemObject」の「GetFile」で取得した
 ・「Fileオブジェクト」の「NameAttributes」に、
 ・「vbReadOnly(1:読み取り専用)」を設定
します。

Option Explicit

Sub sample()
    
    Dim fso As Object
    Dim fileFullPath As String
    
    'ファイルのパスを指定
    fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの属性を「読み取り専用」へ変更
    fso.GetFile(fileFullPath).Attributes = vbReadOnly
    
    '後片付け
    Set fso = Nothing
    
End Sub

SetAttrを使用する方法

Option Explicit

Sub sample()
    
    Dim fileFullPath As String
    
    'ファイルのパスを指定
    fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
    
    'ファイルの属性を「読み取り専用」へ変更
    SetAttr fileFullPath, vbReadOnly
    
End Sub

属性を「標準(読み取り専用でない)」にする場合は、「vbReadOnly」の部分を「vbNormal」にします。

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