Função GetAttr

Retorna um Integer que representa os atributos de um arquivo, diretório ou pasta.

Sintaxe

GetAttr(nome do caminho)

O argumento de nome do caminho necessário é uma expressão de cadeia de caracteres que especifica um nome de arquivo. O nome do caminho pode incluir o diretório ou a pasta e a unidade.

Valores de retorno

O valor retornado por GetAttr é a soma dos seguintes valores de atributo:

Constant Valor Descrição
vbNormal 0 Normal.
vbReadOnly 1 Somente leitura.
vbHidden 2 Oculto.
vbSystem 4 Arquivo do sistema. Indisponível no Macintosh.
vbDirectory 16 Diretório ou pasta.
vbArquivo morto 32 O arquivo foi alterado desde o último backup. Indisponível no Macintosh.
vbAlias 64 O nome do arquivo especificado é um alias. Disponível somente no Macintosh.

Observação

Essas constants são especificadas pelo Visual Basic for Applications. Os nomes podem ser usados em qualquer lugar do código no lugar dos valores reais.

Comentários

Para determinar quais atributos são definidos, use o operador And para realizar uma comparação bit a bit do valor retornado pela função GetAttr e o valor do atributo de arquivo individual desejado. Se o resultado não for zero, esse atributo será definido para o arquivo nomeado. Por exemplo, o valor retornado da seguinte expressão And será zero se o atributo Arquivo Morto não estiver definido:

Result = GetAttr(FName) And vbArchive

Um valor diferente de zero será retornado se o atributo Arquivo estiver definido.

Exemplo

Este exemplo usa a função GetAttr para determinar os atributos de um arquivo e um diretório ou pasta. No Macintosh, somente as constantes vbNormal, vbReadOnly, vbHidden e vbAlias estão disponíveis.

Dim MyAttr
' Assume file TESTFILE has hidden attribute set.
MyAttr = GetAttr("TESTFILE")    ' Returns 2.

' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And vbHidden    

' Assume file TESTFILE has hidden and read-only attributes set.
MyAttr = GetAttr("TESTFILE")    ' Returns 3.

' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And (vbHidden + vbReadOnly)    

' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("MYDIR")    ' Returns 16.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.