SetAttr Statement

Named Arguments

Yes

Syntax

SetAttr pathname, attributes


pathname

Use: Required

Data Type: String

The name of the file whose attributes are to be set.


attributes

Use: Required

Data Type: Integer

Numeric expression or constant specifying the attributes.

Description

Changes the attribute properties of a file.

Rules at a Glance

  • Visual Basic now includes the following intrinsic constants for setting file attributes:

    Constant Value Description
    vbNormal 0 Normal (default)
    vbReadOnly 1 Read-only
    vbHidden 2 Hidden
    vbSystem 4 System file
    vbArchive 32 File has changed since last backup

  • File attributes' constants can be added together or logically ORed to set more than one attribute at the same time. For example:

    SetAttr "SysFile.Dat", vbSystem Or vbHidden
    SetAttr "MyFile.Txt", vbArchive + vbReadOnly

  • pathname can include a drive letter. If a drive letter isn't included in pathname, the current drive is assumed. If a drive letter is used, the fully qualified path is required unless the file is located in the current directory.

  • pathname can include a folder name. If the folder name isn't included in pathname, the current folder is assumed.

  • Attempting to set the attributes of an open file will generate a runtime error.

Example

Private Sub AddAttributes(strFN As String, _
                          intNewAttrib As Integer)

Dim intAttrib As Integer

intAttrib = GetAttr(strFN)
SetAttr strFN, intAttrib Or intNewAttrib

End Sub

Programming Tips and Gotchas

  • Setting file attributes simultaneously clears any attributes that aren't set with the SetAttr statement. For example, if SysFile.Dat is a read-only, hidden system file, the statement:

    SetAttr "sysfile.dat", vbArchive

    sets the archive attribute but clears the read-only, hidden, and system attributes. Clearly, this can have disastrous implications. To retain a file's attributes while setting new ones, first retrieve its attributes using the GetAttr function, as the previous example illustrates.

  • Setting a file's attributes to vbNormal clears all file attributes.

See Also

GetAttr Function
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.255.55