Функция 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 и обратная связь.