Função Dir
Retorna uma String que representa o nome de um arquivo, diretório ou pasta que corresponde a um padrão ou atributo de arquivo especificados ou o rótulo do volume de uma unidade.
Sintaxe
Dir [ (nomedocaminho, [ atributos ] ) ]
A sintaxe da função Dir tem as seguintes partes:
Parte | Descrição |
---|---|
nomedocaminho | Opcional. Expressão de cadeia de caracteres que especifica um nome de arquivo. Pode incluir diretório ou pasta e unidade. Uma cadeia de comprimento zero ("") é retornada se o nomedocaminho não for encontrado. |
atributos | Opcional. Constante ou expressão numérica, cuja soma especifica os atributos de arquivo. Caso seja omitida, retorna arquivos que correspondem ao nomedocaminho, mas não apresentam atributos. |
Configurações
As definições do argumentoatributos são:
Constant | Valor | Descrição |
---|---|---|
vbNormal | 0 | (Padrão) Especifica arquivos sem atributos. |
vbReadOnly | 1 | Especifica arquivos somente leitura além dos arquivos sem atributos. |
vbHidden | 2 | Especifica arquivos ocultos além de arquivos sem atributos. |
vbSystem | 4 | Especifica arquivos do sistema além de arquivos sem atributos. Indisponível no Macintosh. |
vbVolume | 8 | Especifica o rótulo do volume; se qualquer outro atributo for especificado, vbVolume será ignorado. Indisponível no Macintosh. |
vbDirectory | 16 | Especifica diretórios ou pastas além de arquivos sem atributos. |
vbAlias | 64 | O nome do arquivo especificado é um alias. Disponível somente no Macintosh. |
Observação
Essas constantes são especificadas pelo Visual Basic for Applications e podem ser usadas em qualquer lugar em seu código no lugar dos valores reais.
Comentários
No Microsoft Windows e macOS, o Dir suporta a utilização de múltiplos carateres universais (*) e de caráter único (?) para especificar múltiplos ficheiros.
Como o Macintosh não é compatível com caracteres curinga, use o tipo de arquivo para identificar grupos de arquivos. Use a função MacID para especificar o tipo de arquivo em vez de usar os nomes dos arquivos. Por exemplo, a instrução a seguir retorna o nome do primeiro arquivo de TEXTO na pasta atual:
Dir("SomePath", MacID("TEXT"))
Para iterar sobre todos os arquivos em uma pasta, especifique uma cadeia de caracteres vazia:
Dir()
Se você usar a função MacID com Dir no Microsoft Windows, ocorre um erro.
Qualquer valor de atributo maior do que 256 será considerado um valor MacID.
Você deve especificar o nomedocaminho na primeira vez que chamar a função Dir ou ocorrerá um erro. Se você também especificar atributos de arquivo, o nomedocaminho deve ser incluído.
Dir retorna o primeiro nome do arquivo correspondente ao nomedocaminho. Para obter os nomes de arquivos adicionais que correspondam ao nomedocaminho, chame Dir novamente sem argumentos. Quando não houver mais correspondência de nomes de arquivo, Dir retornará uma cadeia de comprimento zero (""). Quando uma cadeia de comprimento zero for retornada, você deve especificar o nomedocaminho em chamadas subsequentes ou ocorrerá um erro.
Você pode mudar para um novo nomedocaminho sem recuperar todos os nomes de arquivo que correspondam ao nomedocaminhoatual. No entanto, você não pode chamar a função Dir recursivamente. Chamar Dir com o atributo vbDirectory não retorna subpastas continuamente.
Dica
Como os nomes de arquivo são recuperados na ordem de classificação de maiúsculas e minúsculas no Windows e na ordem de classificação de maiúsculas e minúsculas no macOS, convém armazenar os nomes dos arquivos retornados em uma matriz e classificar a matriz.
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.