Nota: A função, método, objeto ou propriedade descrito neste tópico é desativada se o Microsoft Jet Expression Service estiver a funcionar em 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" em Ajuda.

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

Sintaxe

Dir[[nomede pathname]]

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

Argumento

Descrição

nome de pathname

Opcional. A expressão de corda que especifica um nome de ficheiro — pode incluir diretório ou pasta e conduzir. Uma corda de comprimento zero ("") é devolvida se o nome de pathname não for encontrado.

atributos

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


Definições

Os atributosargumento configurações são:

Constante

Valor

Descrição

vbNormal

0

(Predefinição) Especifica ficheiros sem atributos.

vbReadOnly

1

Especifica ficheiros apenas 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 do sistema para além de ficheiros sem atributos. Não está disponível no Macintosh.

vbVolume

8

Especifica a etiqueta de volume; se qualquer outro atribuído for especificado, vbVolume é ignorado. Não está disponível no Macintosh.

vbDirect

16

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

vbAlias

64

O nome de ficheiro especificado é um pseudónimo. Disponível apenas no Macintosh.


Nota:  Estas constantes são especificadas pelo Visual Basic para Aplicações (VBA) e podem ser usadas em qualquer lugar do seu código em vez dos valores reais.

Observações

No Microsoft Windows, Dir suporta a utilização de vários caracteres(*) e wildcards de carácter único(? No Macintosh, estes caracteres são tratados como caracteres de nome de ficheiros válidos e não podem ser usados como wildcards para especificar vários ficheiros.

Uma vez que o Macintosh não suporta os wildcards, use 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 dos ficheiros. Por exemplo, a seguinte declaração devolve o nome do primeiro ficheiro TEXT na pasta atual:

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

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

Dir("")

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

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

Tem de especificar o nome de trajetória da primeira vez que ligar para a função Dir, ou ocorre um erro. Se também especificar atributos de ficheiro, o nome de pathname deve ser incluído.

Dir devolve o primeiro nome de ficheiro que corresponde ao nome de pathna . Para obter quaisquer nomes de ficheiros adicionais que correspondam ao nome de pathname,ligue novamente para o Dir sem argumentos. Quando não há mais nomes de ficheiros compatíveis, Dir devolve uma corda de comprimento zero (""). Uma vez devolvido um fio de comprimento zero, deve especificar o nome de trajetória em chamadas subsequentes ou ocorrer um erro. Pode mudar para um novo nome de pathname sem recuperar todos os nomes de ficheiros que correspondam ao nome de pathnameatual . No entanto, não se pode chamar a função Dir de forma recorrente. Ligar para o Dir com o atributo vbDirectory não devolve continuamente subdiretor.

Sugestão     Como os nomes dos ficheiros são recuperados em nenhuma ordem em particular, é melhor armazenar os nomes dos ficheiros devolvidos numa 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 certos ficheiros e diretórios. No Macintosh, "HD:" é o nome de unidade padrão e partes do nome do pathname são separadas por cólons em vez de costas. Além disso, os caracteres wildcard do Windows são tratados como caracteres 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?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft Office insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×