Popis GetAttr
Vrátí celé číslo, které představuje atributy souboru, složky nebo adresáře.
Jednoduché příklady GetAttr
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Tím se vrátí nějaké celé číslo podle nastavení souboru/složky/disku.
Pokud název cesty neexistuje, dojde k chybě při běhu „53“: Soubor nebyl nalezen.
Syntaxe GetAttr
V editoru VBA můžete zadat „GetAttr (“ a zobrazit syntaxi funkce GetAttr:
Funkce GetAttr obsahuje argument:
Název cesty: Řetězcový výraz představující soubor/složku/jednotku.
Návratové hodnoty
Hodnota vrácenáGetAttr je součet následujících hodnot atributů:
Konstantní | Hodnota | Popis |
---|---|---|
vbNormal | 0 | Normální. |
vbReadOnly | 1 | Pouze ke čtení. |
vbHidden | 2 | Skrytý. |
vbSystem | 4 | Systémový soubor. Není k dispozici na počítači Macintosh. |
vbDirectory | 16 | Adresář nebo složka. |
vbArchiv | 32 | Soubor se od poslední zálohy změnil. Není k dispozici na počítači Macintosh. |
vbAlias | 64 | Zadaný název souboru je alias. K dispozici pouze na počítačích Macintosh. |
Příklady funkce Excel VBA GetAttr
1 | MsgBox GetAttr ("C: \ Program Files (x86)") |
1 | MsgBox GetAttr ("C: \") |
Při testování s různými složkami/soubory/jednotkami vrátí různá čísla jako 1, 2, 5, 22 atd.
Například v případě 22 to znamená vbDirectory (16) + vbSystem (4) + vbHidden (2).
Chcete -li získat nastavení atributů odpovídající každému číslu, můžete použít následující funkci.
12345678910111213 | Funkce GetAttributeSettings (attr jako VbFileAttribute) jako řetězecDim strSettings jako řetězecstrSettings = ""If (attr And vbDirectory) = vbDirectory Then strSettings = strSettings & "& Directory"If (attr And vbVolume) = vbVolume Then strSettings = strSettings & "& Volumn"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)Koncová funkce |
1 | MsgBox GetAttributeSettings (22) |
Výsledek: „Directory & Hidden & System“