GetAttr Function
Description
Returns an Integer representing the attributes of a file, directory, or folder.
Syntax
GetAttr(pathname)
The required pathname argument is a string expression that specifies a file name. The pathname may include the directory or folder, and the drive.
Return Values
The value returned by GetAttr is the sum of the following attribute values
Constant | Value | Description |
|
vbNormal | 0 | Normal |
vbReadOnly | 1 | Read-only |
vbHidden | 2 | Hidden |
vbSystem | 4 | System |
vbDirectory | 16 | Directory or folder |
vbArchive | 32 | File has changed since last backup |
Note These constants are specified by Visual Basic for Applications. The names can be used anywhere in your code in place of the actual values.
Remarks
To determine which attributes are set, use the And operator to perform a bitwise comparison of the value returned by the GetAttr function and the value of the individual file attribute you want. If the result is not zero, that attribute is set for the named file. For example, the return value of the following And expression is zero if the Archive attribute is not set:
Result = GetAttr(FName) And vbArchive
A nonzero value is returned if the Archive attribute is set.
See Also
And operator, FileAttr function, SetAttr statement.
Specifics (Macintosh)
The following constants aren't available on the Macintosh
Constant | Value | Description |
|
vbSystem | 4 | System file. |
vbArchive | 32 | File has changed since last backup. |
The following constant is available only on the Macintosh
Constant | Value | Description |
|
vbAlias | 64 | Specified file name is an alias. |
Example
This example uses the GetAttr function to determine the attributes of a file and directory or folder.
Dim MyAttr
' Assume file TESTFILE has hidden attribute set.
MyAttr = GetAttr("TESTFILE") ' Returns 2.
' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And vbHidden
' Assume file TESTFILE has hidden and read-only attributes set.
MyAttr = GetAttr("TESTFILE") ' Returns 3.
' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And (vbHidden + vbReadOnly)
' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("MYDIR") ' Returns 16.