Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Observação: A função, método, objeto ou propriedade descrita neste tópico será desabilitada se o Serviço de Expressão de Jato da Microsoft estiver em execução no modo de área restrita, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo de área restrita, procure por "modo de área restrita" na Ajuda.

Retorna uma Cadeia de Caracteres que representa o nome de um arquivo, diretório ou pasta que corresponde a um padrão ou atributo de arquivo especificado, ou o rótulo de volume de uma unidade.

Sintaxe

Dir[(pathname [, atributos] )]

A sintaxe da função Dir tem esses argumentos:

Argumento

Descrição

Caminho

Opcional. Expressão de cadeia de caracteres que especifica um nome de arquivo – pode incluir diretório ou pasta e unidade. Uma cadeia de caracteres de comprimento zero ("") será retornada se pathname não for encontrado.

Atributos

Opcional. Constante ou expressão numérica, cuja soma especifica atributos de arquivo. Se omitido, retornará arquivos que correspondem ao nome de caminho , mas não têm atributos.

Configurações

Os atributosargumento configurações são:

Constante

Valor

Descrição

vbNormal

0

(Padrão) Especifica arquivos sem atributos.

vbReadOnly

1

Especifica arquivos somente leitura, além de 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. Não está disponível no Macintosh.

vbVolume

8

Especifica o rótulo de volume; se qualquer outro atributo for especificado, vbVolume será ignorado. Não está disponí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 apenas no Macintosh.

Observação:  Essas constantes são especificadas por Visual Basic for Applications (VBA) e podem ser usadas em qualquer lugar do código no lugar dos valores reais.

Comentários

No Microsoft Windows, Dir dá suporte ao uso de caracteres múltiplos (*) e curingas de caractere único (?) para especificar vários arquivos. No Macintosh, esses caracteres são tratados como caracteres de nome de arquivo válidos e não podem ser usados como curingas para especificar vários arquivos.

Como o Macintosh não dá suporte aos curingas, use o tipo de arquivo para identificar grupos de arquivos. Você pode usar a função MacID para especificar o tipo de arquivo em vez de usar os nomes de arquivo. Por exemplo, a seguinte instrução retorna o nome do primeiro arquivo TEXT na pasta atual:

Dir("SomePath", MacID("TEXT"))

Para iterar todos os arquivos em uma pasta, especifique uma cadeia de caracteres vazia:

Dir("")

Se você usar a função MacID com Dir no Windows, ocorrerá um erro.

Qualquer valor de atributo maior que 256 é considerado um valor MacID .

Você deve especificar pathname na primeira vez que chamar a função Dir ou ocorrer um erro. Se você também especificar atributos de arquivo, o nome do caminho deverá ser incluído.

Dir retorna o primeiro nome de arquivo que corresponde ao nome do caminho. Para obter nomes de arquivo adicionais que correspondam ao nome de caminho, chame Dir novamente sem argumentos. Quando não há mais nomes de arquivo correspondentes, Dir retorna uma cadeia de caracteres de comprimento zero (""). Depois que uma cadeia de caracteres de comprimento zero é retornada, você deve especificar o nome do caminho em chamadas subsequentes ou ocorrerá um erro. Você pode alterar para um novo nome de caminho sem recuperar todos os nomes de arquivo que correspondem ao nome de caminho atual. No entanto, você não pode chamar a função Dir de forma recursiva. Chamar Dir com o atributo vbDirectory não retorna continuamente subdiretórios.

Dica     Como os nomes de arquivo são recuperados em nenhuma ordem específica, talvez você queira armazenar nomes de arquivo retornados em um matriz e, em seguida, classificar a matriz.

Exemplo

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

Este exemplo usa a função Dir para marcar se determinados arquivos e diretórios existirem. No Macintosh, "HD:" é o nome da unidade padrão e partes do nome do caminho são separadas por pontos em vez de backslashes. Além disso, os caracteres curinga do Windows são tratados como caracteres válidos de nome de arquivo no Macintosh. No entanto, você pode usar a função MacID para especificar grupos de arquivos.

Dim MyFile, MyPath, MyName' Returns "WIN.INI" (on Microsoft Windows) if it exists.MyFile = Dir("C:\WINDOWS\WIN.INI")    ' Returns filename with specified extension. If more than one *.ini' file exists, the first file found is returned.MyFile = Dir("C:\WINDOWS\*.INI")' Call Dir again without arguments to return the next *.INI file in the ' same directory.MyFile = Dir' Return first *.TXT file with a set hidden attribute.MyFile = Dir("*.TXT", vbHidden)' Display the names in C:\ that represent directories.MyPath = "c:\"    ' Set the path.MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.Do While MyName <> ""    ' Start the loop.    ' Ignore the current directory and the encompassing directory.    If MyName <> "." And MyName <> ".." Then        ' Use bitwise comparison to make sure MyName is a directory.        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then            Debug.Print MyName    ' Display entry only if it        End If    ' it represents a directory.    End If    MyName = Dir    ' Get next entry.Loop

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.