Поделиться через


Функция GetAttr

Возвращает значение типа Integer, представляющее атрибуты файла, каталога или папки.

Синтаксис

GetAttr(pathname)

Обязательный аргументpathname — это строковое выражение, указывающее имя файла. pathname может содержать каталог или папку и букву устройства.

Возвращаемые значения

Значение, возвращаемое GetAttr, является суммой следующих значений атрибутов:

Константа Значение Описание
vbNormal 0 Нормальный.
vbReadOnly 1 Только для чтения.
vbHidden 2 Скрытый.
vbSystem 4 Системный файл. Недоступно в Macintosh.
vbDirectory 16 Каталог или папка.
vbArchive 32 Файл изменен после последнего резервного копирования. Недоступно в Macintosh.
vbAlias 64 Указанное имя файла является псевдонимом. Доступно только в macOS.

Примечание.

Приведенные здесь константы определены в Visual Basic для приложений, Их имена можно использовать в коде вместо фактических значений.

Замечания

Чтобы определить, какие атрибуты заданы, используйте оператор And для побитового сравнения значения, возвращаемого функцией GetAttr , и значения отдельного атрибута файла. Если результат не является нулем, то атрибут для заданного файла установлен. Например, возвращаемое значение следующего выражения And является нулем, если не установлен атрибут "Архив":

Result = GetAttr(FName) And vbArchive

Если атрибут "Архив" установлен, возвращается ненулевое значение.

Пример

В этом примере функция GetAttr используется для определения атрибутов файла, каталога или папки. В Macintosh доступны только константы vbNormal, vbReadOnly, vbHidden и vbAlias .

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.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.