Share via

Visual Basic for Applications Reference

Attributes Property

See Also    Example    Applies To    Specifics


Sets or returns the attributes of files or folders. Read/write or read-only, depending on the attribute.


object.Attributes [= newattributes]

The Attributes property has these parts:

Part Description
object Required. Always the name of a File or Folder object.
newattributes Optional. If provided, newattributes is the new value for the attributes of the specified object.


The newattributes argument can have any of the following values or any logical combination of the following values:

Constant Value Description
Normal 0 Normal file. No attributes are set.
ReadOnly 1 Read-only file. Attribute is read/write.
Hidden 2 Hidden file. Attribute is read/write.
System 4 System file. Attribute is read/write.
Volume 8 Disk drive volume label. Attribute is read-only.
Directory 16 Folder or directory. Attribute is read-only.
Archive 32 File has changed since last backup. Attribute is read/write.
Alias 64 Link or shortcut. Attribute is read-only.
Compressed 128 Compressed file. Attribute is read-only.


The following code illustrates the use of the Attributes property with a file:

Sub SetClearArchiveBit(filespec)
    Dim fs, f, r
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(fs.GetFileName(filespec))
    If f.attributes and 32 Then
        r = MsgBox("The Archive bit is set, do you want to clear it?", vbYesNo, "Set/Clear Archive Bit")
        If r = vbYes Then 
            f.attributes = f.attributes - 32
            MsgBox "Archive bit is cleared."
            MsgBox "Archive bit remains set."
        End If
        r = MsgBox("The Archive bit is not set. Do you want to set it?", vbYesNo, "Set/Clear Archive Bit")
        If r = vbYes Then 
            f.attributes = f.attributes + 32
            MsgBox "Archive bit is set."
            MsgBox "Archive bit remains clear."
        End If
    End If
End Sub