Опис GetAttr
Повертає ціле число, яке представляє атрибути файлу, папки або каталогу.
Прості приклади GetAttr
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Це поверне деяке ціле число відповідно до налаштувань файлу/папки/диска.
Якщо імені шляху немає, то виникне помилка під час виконання '53': Файл не знайдено.
Синтаксис GetAttr
У редакторі VBA ви можете ввести "GetAttr (", щоб побачити синтаксис функції GetAttr:
Функція GetAttr містить аргумент:
Ім'я шляху: Рядовий вираз, що представляє файл/папку/диск.
Повертаються значення
Значення, яке повертаєGetAttr - це сума таких значень атрибутів:
Постійна | Цінність | Опис |
---|---|---|
vbНормальний | 0 | Нормальний. |
vbReadOnly | 1 | Лише для читання. |
vbHidden | 2 | Приховані. |
vbSystem | 4 | Системний файл. Недоступно на Macintosh. |
vbDirectory | 16 | Каталог або папка. |
vbArchive | 32 | Файл змінився з часу останньої резервної копії. Недоступно на Macintosh. |
vbAlias | 64 | Вказана назва файлу є псевдонімом. Доступно лише на Macintosh. |
Приклади функції GetAttr Excel VBA
1 | MsgBox GetAttr ("C: \ Program Files (x86)") |
1 | MsgBox GetAttr ("C: \") |
Під час тестування з різними папками/файлами/дисками він поверне різні цифри, такі як 1, 2, 5, 22 тощо.
Наприклад, у випадку 22 це означає vbDirectory (16) + vbSystem (4) + vbHidden (2).
Щоб отримати параметри атрибутів, відповідні кожному номеру, можна скористатися наступною функцією.
12345678910111213 | Функція GetAttributeSettings (attr як VbFileAttribute) як рядокDim strSettings As StringstrSettings = ""Якщо (attr та vbDirectory) = vbDirectory То strSettings = strSettings & "& Каталог"Якщо (attr та vbVolume) = vbVolume То strSettings = strSettings & "& Volumn"Якщо (attr And vbAlias) = vbAlias То strSettings = strSettings & "& Псевдонім"Якщо (attr та vbArchive) = vbArchive То strSettings = strSettings & "& Архів"Якщо (attr And vbHidden) = vbHidden То strSettings = strSettings & "& Прихований"Якщо (attr та vbReadOnly) = vbReadOnly Тоді strSettings = strSettings & "& ReadOnly"Якщо (attr та vbSystem) = vbSystem То strSettings = strSettings & "& Система"GetAttributeSettings = Mid (strSettings, 2)Функція завершення |
1 | MsgBox GetAttributeSettings (22) |
Результат: "Каталог, приховані та системні"