Opis GetAttr
Zwraca liczbę całkowitą reprezentującą atrybuty pliku, folderu lub katalogu.
Proste przykłady GetAttr
12 | MsgBox GetAttr("C:\")MsgBox GetAttr("D:\Test.txt") |
To zwróci pewną liczbę całkowitą zgodnie z ustawieniami pliku/folderu/dysku.
Jeśli nazwa ścieżki nie istnieje, wystąpi błąd wykonania „53”: Nie znaleziono pliku.
Składnia GetAttr
W edytorze VBA możesz wpisać „GetAttr (”, aby zobaczyć składnię funkcji GetAttr:
Funkcja GetAttr zawiera argument:
Nazwa ścieżki: Wyrażenie tekstowe reprezentujące plik/folder/dysk.
Zwróć wartości
Wartość zwrócona przezGetAttr to suma następujących wartości atrybutów:
Stały | Wartość | Opis |
---|---|---|
vbNormal | 0 | Normalna. |
vbTylko do odczytu | 1 | Tylko czytać. |
vbHidden | 2 | Ukryty. |
vbSystem | 4 | Plik systemowy. Niedostępne na komputerach Macintosh. |
vbDirectory | 16 | Katalog lub folder. |
vbArchiwum | 32 | Plik zmienił się od ostatniej kopii zapasowej. Niedostępne na komputerach Macintosh. |
vbAlias | 64 | Podana nazwa pliku to alias. Dostępne tylko na komputerach Macintosh. |
Przykłady funkcji Excel VBA GetAttr
1 | MsgBox GetAttr("C:\Program Files (x86)") |
1 | MsgBox GetAttr("C:\") |
Podczas testowania z różnymi folderami/plikami/dyskami zwróci różne liczby, takie jak 1, 2, 5, 22 i tak dalej.
Na przykład w przypadku 22 oznacza to vbDirectory(16) + vbSystem(4) + vbHidden(2).
Aby uzyskać ustawienia atrybutów odpowiadające każdemu numerowi, możesz użyć następującej funkcji.
12345678910111213 | Funkcja GetAttributeSettings (attr As VbFileAttribute) As StringDim strSettings As StringstrUstawienia = ""If (attr And vbDirectory) = vbDirectory Then strSettings = strSettings & "&Directory"If (attr And vbVolume) = vbVolume Then strSettings = strSettings & "&Volume"If (attr And vbAlias) = vbAlias Then strSettings = strSettings & "&Alias"If (attr And vbArchive) = vbArchive Then strSettings = strSettings & "&Archive"If (attr And vbHidden) = vbHidden Then strSettings = strSettings & "&Hidden"If (attr And vbReadOnly) = vbReadOnly Then strSettings = strSettings & "&ReadOnly"If (attr And vbSystem) = vbSystem Then strSettings = strSettings & "&System"GetAttributeSettings = Mid(strSettings, 2)Koniec funkcji |
1 | MsgBox GetAttributeSettings(22) |
Wynik: „Katalog i ukryty i system”