Função Dir

Observação   A função, o método, o objeto ou a propriedade descrito neste tópico será desabilitado se o Microsoft Jet Expression Service estiver em execução na área restrita, que impede a avaliação de expressões que podem não ser seguras. Para obter mais informações sobre a área restrita, consulte "área restrita" na Ajuda.

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

Sintaxe

Dir[(nomedocaminho [, atributos] )]

A sintaxe da função Dir possui os seguintes argumentos:

Argumento

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 seqüência de comprimento nulo ("") é retornada se nomedocaminho não for encontrado.

atributos

Opcional. constante ou expressão numérica, cuja soma especifica atributos de arquivo. Se omitido, retorna arquivos que correspondam ao nomedocaminho, mas que não possuem atributos.


Configurações

As configurações do argumentoatributos 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 de sistemas, além de arquivos sem atributos. Não disponível no Macintosh.

vbVolume

8

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


Observação    Essas constantes são especificadas pelo VBA (Visual Basic for Applications) e podem ser utilizadas no seu código no lugar dos valores reais.

Comentários

No Microsoft Windows, a função Dir oferece suporte ao uso de curingas de vários caracteres (*) e de um único caractere (?) para especificar vários arquivos. No Macintosh, esses caracteres são tratados como caracteres de nomes de arquivos válidos e não podem ser utilizados como curingas para especificar vários arquivos.

Como o Macintosh não oferece suporte a caracteres curingas, utilize o tipo de arquivo para identificar grupos de arquivos. Você pode utilizar a função MacID para especificar o tipo de arquivo em vez de utilizar nomes de arquivos. Por exemplo, a instrução a seguir retorna o nome do primeiro arquivo TEXT na pasta atual:

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

Para repetir em todos os arquivos de uma pasta, especifique uma seqüência vazia:

Dir("")

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

Qualquer valor de atributos maior que 256 será considerado um valor MacID.

Você deve especificar nomedocaminho na primeira vez que chamar a função Dir; caso contrário, ocorrerá um erro. Se você também especificar atributos do arquivo, o nomedocaminho deverá ser incluído.

Dir retorna o primeiro nome de arquivo que corresponda ao nomedocaminho. Para obter nomes de arquivos adicionais que correspondam ao nomedocaminho, chame Dir novamente, sem nenhum argumento. Quando não houver mais nenhum nome de arquivo correspondente, Dir retornará uma seqüência de comprimento nulo (""). Nesse caso, você deverá especificar o nomedocaminho em chamadas subseqüentes para que não ocorra um erro. Você pode utilizar um novo nomedocaminho sem recuperar todos os nomes de arquivos que correspondam ao nomedocaminho atual. No entanto, você não pode chamar a função Dir repetidamente. Quando Dir é chamado com o atributo vbDirectory, subdiretórios não são retornados continuamente.

Dica     Como os nomes de arquivos são recuperados sem uma ordem específica, você pode armazenar nomes de arquivos recuperados em uma matriz e, em seguida, classificar a matriz.

Exemplo

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

Este exemplo utiliza a função Dir para verificar se determinados arquivos e diretórios existem. No Macintosh, “HD:” é o nome padrão da unidade, e as partes do nome do caminho são separados por vírgulas, e não por barras invertidas. Além disso, os caracteres curingas do Windows são tratados como caracteres de nomes de arquivos válidos no Macintosh. No entanto, você pode utilizar 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

Aplicável a: Access 2007, Access 2010 Developer, Access 2013 Developer, Access 2007 Developer, Access 2013, Access 2010, Access 2016 Preview



Essas informações foram úteis?

Sim Não

Como podemos melhorá-lo?

255 caracteres restantes

Para proteger sua privacidade, não inclua informações de contato em seus comentários. Avalie nosso política de privacidade.

Obrigado por seus comentários!

Recursos de suporte

Alterar idioma