Returns a FileAttribute value representing the attributes of a file, directory, or folder.
Public Function GetAttr(ByVal PathName As String) As FileAttribute
The value returned by GetAttr is the sum of the following enumeration values:
Value | Constant | Description |
---|---|---|
Normal | VbNormal | Normal. |
ReadOnly | VbReadOnly | Read-only. |
Hidden | VbHidden | Hidden. |
System | VbSystem | System file. |
Directory | VbDirectory | Directory or folder. |
Archive | VbArchive | File has changed since last backup. |
Alias | VbAlias | File has a different name. |
Note These enumerations are specified by the Visual Basic language. The names can be used anywhere in your code in place of the actual values.
Exception type | Error number | Condition |
---|---|---|
52 | Pathname is invalid or contains wildcards. | |
53 | Target file does not exist. |
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.
This example uses the GetAttr function to determine the attributes of a file and directory or folder.
Dim MyAttr As FileAttribute ' Assume file TESTFILE is normal and readonly. MyAttr = GetAttr("C:\TESTFILE.txt") ' Returns VbNormal. ' Test for normal. If (MyAttr And FileAttribute.Normal) = FileAttribute.Normal Then MsgBox("This file is normal.") End If ' Test for normal and readonly. Dim normalReadonly As FileAttribute normalReadonly = FileAttribute.Normal Or FileAttribute.ReadOnly If (MyAttr And normalReadonly) = normalReadonly Then MsgBox("This file is normal and readonly.") End If ' Assume MYDIR is a directory or folder. MyAttr = GetAttr("C:\MYDIR") If (MyAttr And FileAttribute.Directory) = FileAttribute.Directory Then MsgBox("MYDIR is a directory") End If
And Operator | FileAttr Function | SetAttr Function |