Compartilhar via


Função GetAttr

Devolve um Número Inteiro que representa os atributos de um ficheiro, diretório ou pasta.

Sintaxe

GetAttr(pathname)

O argumentopathname necessário é uma expressão de cadeia que especifica um nome de ficheiro. O pathname pode incluir o diretório ou pasta e a unidade.

Valores de retorno

O valor devolvido 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 Ficheiro de sistema. Indisponível no Macintosh.
vbDirectory 16 Diretório ou pasta.
vbArchive 32 O ficheiro foi alterado desde a última cópia de segurança. 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 utilizados em qualquer parte do seu código em vez dos valores reais.

Comentários

Para determinar que atributos estão definidos, utilize o operador And para efetuar uma comparação bit a bit do valor devolvido pela função GetAttr e o valor do atributo de ficheiro individual que pretende. Se o resultado não for zero, esse atributo é definido para o ficheiro com nome. Por exemplo, o valor devolvido da seguinte expressão And é zero se o atributo Arquivo não estiver definido:

Result = GetAttr(FName) And vbArchive

É devolvido um valor diferente de zero se o atributo Arquivo estiver definido.

Exemplo

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

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.