Dir – Arquivo ou Pasta

Descrição:

A função DIR em VBA é uma ferramenta fundamental para trabalhar com diretórios e arquivos. Ela permite obter o nome de um arquivo ou pasta em um diretório específico. Isso é especialmente útil quando precisamos automatizar tarefas que envolvem a manipulação de arquivos, como a importação ou exportação de dados.
Ao utilizar a função DIR, podemos iterar através dos arquivos e pastas em um diretório e tomar decisões com base em seus nomes ou extensões. Ela é frequentemente utilizada em conjunto com loops para processar vários arquivos de uma vez.
A função DIR retorna o nome do primeiro arquivo ou pasta que atende aos critérios especificados. Posteriormente, pode-se chamar novamente a função sem argumentos para obter o próximo item no mesmo diretório. Quando não há mais itens para listar, DIR retorna uma string vazia.
Além disso, é possível utilizar constantes, como vbDirectory, para especificar se o item desejado é uma pasta.
Em resumo, a função DIR é uma ferramenta poderosa para automatizar tarefas de manipulação de arquivos e diretórios em VBA.

Exemplos:

Obter o nome do primeiro arquivo em um diretório:


    Dim nomeArquivo As String
    nomeArquivo = Dir("C:\MeuDiretorio\*.*")
    

Resultado: A variável nomeArquivo conterá o nome do primeiro arquivo no diretório especificado.

Obter o próximo arquivo no mesmo diretório:


    nomeArquivo = Dir
    

Resultado: A variável nomeArquivo conterá o nome do próximo arquivo no mesmo diretório.

Verificar se existem mais arquivos no diretório:


    nomeArquivo = Dir
    If nomeArquivo <> "" Then
        ' Existem mais arquivos no diretório
    Else
        ' Todos os arquivos foram processados
    End If
    

Resultado: Verifica se ainda existem arquivos a serem processados no mesmo diretório.

Obter o nome do primeiro arquivo com uma extensão específica:


    nomeArquivo = Dir("C:\MeuDiretorio\*.txt")
    

Resultado: A variável nomeArquivo conterá o nome do primeiro arquivo com a extensão .txt no diretório especificado.

Obter o nome da primeira pasta no diretório:


    Dim nomePasta As String
    nomePasta = Dir("C:\MeuDiretorio\", vbDirectory)
    

Resultado: A variável nomePasta conterá o nome da primeira pasta no diretório especificado.