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

Nota: A função, método, objeto ou propriedade descrita neste tópico está desativada se o Serviço Microsoft Jet Expression estiver em execução no modo sandbox, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo sandbox, procure "modo sandbox" na Ajuda.

Devolve uma Cadeia que representa o nome de um ficheiro, diretório ou pasta que corresponde a um padrão ou atributo de ficheiro especificado ou à etiqueta de volume de uma unidade.

Sintaxe

Dir[(pathname [, attributes] )]

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

Argumento

Descrição

pathname

Opcional. Expressão de cadeia que especifica um nome de ficheiro — pode incluir diretório ou pasta e unidade. É devolvida uma cadeia de comprimento zero ("") se o nome do caminho não for encontrado.

atributos

Opcional. Constante ou expressão numérica, cuja soma especifica atributos de ficheiro. Se for omitido, devolve ficheiros que correspondem ao nome do caminho , mas não têm atributos.

Definições

Os atributosargumento definições são:

Constante

Valor

Descrição

vbNormal

0

(Predefinição) Especifica ficheiros sem atributos.

vbReadOnly

1

Especifica ficheiros só de leitura para além de ficheiros sem atributos.

vbHidden

2

Especifica ficheiros ocultos para além de ficheiros sem atributos.

VbSystem

4

Especifica ficheiros de sistema para além de ficheiros sem atributos. Não está disponível no Macintosh.

vbVolume

8

Especifica a etiqueta de volume; se qualquer outra atribuição for especificada, vbVolume é ignorado. Não está disponível no Macintosh.

vbDirectory

16

Especifica diretórios ou pastas para além de ficheiros sem atributos.

vbAlias

64

O nome de ficheiro especificado é um alias. Disponível apenas no Macintosh.

Nota:  Estas constantes são especificadas por Visual Basic for Applications (VBA) e podem ser utilizadas em qualquer parte do código em vez dos valores reais.

Observações

No Microsoft Windows, o Dir suporta a utilização de carateres universais de múltiplos carateres (*) e de caráter único (?) para especificar múltiplos ficheiros. No Macintosh, estes carateres são tratados como carateres de nome de ficheiro válidos e não podem ser utilizados como carateres universais para especificar múltiplos ficheiros.

Uma vez que o Macintosh não suporta os carateres universais, utilize o tipo de ficheiro para identificar grupos de ficheiros. Pode utilizar a função MacID para especificar o tipo de ficheiro em vez de utilizar os nomes de ficheiro. Por exemplo, a seguinte instrução devolve o nome do primeiro ficheiro TEXT na pasta atual:

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

Para iterar todos os ficheiros numa pasta, especifique uma cadeia vazia:

Dir("")

Se utilizar a função MacID com o Dir no Windows, ocorre um erro.

Qualquer valor de atributos superior a 256 é considerado um valor MacID .

Tem de especificar pathname na primeira vez que chamar a função Dir ou ocorre um erro. Se também especificar atributos de ficheiro, tem de incluir pathname .

Dir devolve o primeiro nome de ficheiro que corresponde ao nome do caminho. Para obter nomes de ficheiro adicionais que correspondam ao nome do caminho, chame novamente Dir sem argumentos. Quando não existem mais nomes de ficheiros correspondentes, Dir devolve uma cadeia de comprimento zero (""). Assim que uma cadeia de comprimento zero for devolvida, tem de especificar pathname em chamadas subsequentes ou ocorre um erro. Pode alterar para um novo nome de caminho sem obter todos os nomes de ficheiro que correspondem ao nome do caminho atual. No entanto, não pode chamar a função Dir de forma recursiva. Chamar o Dir com o atributo vbDirectory não devolve continuamente subdiretórios.

Sugestão     Uma vez que os nomes de ficheiro são obtidos sem ordem específica, poderá querer armazenar os nomes de ficheiro devolvidos num matriz e, em seguida, ordenar a matriz.

Exemplo

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função Dir para verificar se existem determinados ficheiros e diretórios. No Macintosh, "HD:" é o nome da unidade predefinido e as partes do nome do caminho são separadas por dois pontos em vez de barras invertidas. Além disso, os carateres universais do Windows são tratados como carateres de nome de ficheiro válidos no Macintosh. No entanto, pode utilizar a função MacID para especificar grupos de ficheiros.

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 subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.