Funkcja VBA GetAttr

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”

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave