Funkce VBA GetAttr

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“

wave wave wave wave wave