Descrição GetAttr
Retorna um número inteiro que representa os atributos de um arquivo, pasta ou diretório.
Exemplos GetAttr Simples
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Isso retornará algum número inteiro de acordo com as configurações do arquivo / pasta / unidade.
Se o nome do caminho não existir, ocorrerá um erro em tempo de execução '53': Arquivo não encontrado.
Sintaxe GetAttr
No Editor VBA, você pode digitar “GetAttr (” para ver a sintaxe da função GetAttr:
A função GetAttr contém um argumento:
PathName: Uma expressão de string que representa um arquivo / pasta / unidade.
Valores de retorno
O valor retornado porGetAttr é a soma dos seguintes valores de atributo:
Constante | Valor | Descrição |
---|---|---|
vbNormal | 0 | Normal. |
vbReadOnly | 1 | Somente leitura. |
vbHidden | 2 | Escondido. |
vbSystem | 4 | Arquivo de sistema. Não disponível no Macintosh. |
vbDirectory | 16 | Diretório ou pasta. |
vbArchive | 32 | O arquivo foi alterado desde o último backup. Não disponível no Macintosh. |
vbAlias | 64 | O nome do arquivo especificado é um alias. Disponível apenas no Macintosh. |
Exemplos de função Excel VBA GetAttr
1 | MsgBox GetAttr ("C: \ Arquivos de programas (x86)") |
1 | MsgBox GetAttr ("C: \") |
Durante o teste com várias pastas / arquivos / unidades, ele retornará vários números como 1, 2, 5, 22 e assim por diante.
Por exemplo, no caso de 22, significa vbDirectory (16) + vbSystem (4) + vbHidden (2).
Para obter as configurações de atributos correspondentes a cada número, você pode usar a seguinte função.
12345678910111213 | Função GetAttributeSettings (attr As VbFileAttribute) As StringDim strSettings As StringstrSettings = ""If (attr E vbDirectory) = vbDirectory Then strSettings = strSettings & "& Directory"If (attr E vbVolume) = vbVolume Then strSettings = strSettings & "& Volumn"If (attr E vbAlias) = vbAlias Then strSettings = strSettings & "& Alias"If (attr E vbArchive) = vbArchive Then strSettings = strSettings & "& Archive"If (attr E vbHidden) = vbHidden Then strSettings = strSettings & "& Hidden"If (attr And vbReadOnly) = vbReadOnly Then strSettings = strSettings & "& ReadOnly"If (attr E vbSystem) = vbSystem Then strSettings = strSettings & "& System"GetAttributeSettings = Mid (strSettings, 2)Função Final |
1 | MsgBox GetAttributeSettings (22) |
Resultado: “Directory & Hidden & System”