Sumário

# Função Dir

Retorna o nome de um arquivo, de um diretório, ou de todos os arquivos e diretórios numa unidade ou num diretório que verifiquem o caminho de busca especificado.

### Sintaxe:

    Dir [(PathName As String [, Attributes As Integer])]

### Tipo de retorno:

String

### Parâmetros:

PathName: Qualquer expressão de string que especifique o caminho, diretório ou arquivo de pesquisa. Esse argumento só pode ser especificado na primeira vez que chamar a função Dir. Se desejar, você pode inserir o caminho em notação de URL.

Atributes: qualquer expressão inteira que especifica atributos de arquivo bit a bit. A função Dir retorna apenas arquivos ou diretórios que correspondem aos atributos especificados. Você pode combinar vários atributos adicionando os valores de atributo:

0 : Arquivos normais.

16 : Retorna apenas o nome do diretório.

Use este atributo para verificar se um arquivo ou diretório existe ou para determinar todos os arquivos e pastas num diretório específico.

Para verificar se um arquivo existe, digite o caminho e o nome de arquivo completos. Se o nome do arquivo ou diretório não existir, a função Dir retornará uma cadeia de caracteres de comprimento zero ("").

Para gerar uma lista de todos os arquivos existentes em um diretório específico, siga estas instruções: Na primeira vez em que chamar a função Dir, especifique o caminho de pesquisa completo para os arquivos; por exemplo, "D:\Files\*.ods". Se o caminho estiver correto e a pesquisa localizar pelo menos um arquivo, a função Dir retornará o nome do primeiro arquivo que corresponda ao caminho de pesquisa. Para retornar nomes de arquivo adicionais que correspondam ao caminho, chame Dir novamente, mas sem argumentos.

Para retornar somente diretórios, use o parâmetro atributo. O mesmo se aplica se você deseja determinar o nome de um volume (por exemplo, uma partição de unidade de disco rígido)

### Códigos de erro:

5 Chamada de procedimento inválida

53 Arquivo não encontrado

### Exemplo:

    Sub ExampleDir
    ' Exibe todos os arquivos e diretórios
    Dim sPath As String
    Dim sDir As String, sValue As String
        sDir="Diretórios:"
        sPath = CurDir
        sValue = Dir$(sPath + getPathSeparator + "*",16)
        Do
            If sValue <> "." And sValue <> ".." Then
                If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                    ' Obtém os diretórios
                    sDir = sDir & chr(13) & sValue
                End If
            End If
            sValue = Dir$
        Loop Until sValue = ""
        MsgBox sDir,0,sPath
    End Sub

Tópicos relacionados

Função CurDir

Função CompatibilityMode()

Instrução Option VBASupport