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:

Configurações

As configurações do argumento (argumento: um valor que fornece informações a uma ação, um evento, um método, uma função ou um procedimento.) atributos 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 (matriz: uma variável que contém um número finito de elementos que têm um nome e tipo de dados em comum. Cada elemento de uma matriz é identificado por um número de índice exclusivo. As alterações em um elemento de matriz não afetam os outros elementos.) 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

      
 
 
Aplica-se a:
Access 2007