Função Excel VBA DIR

Dir é uma das funções disponíveis no VBA. A função Dir é para referenciar diretórios no código VBA.
A função que retorna o nome do arquivo ou diretório que corresponde ao atributo ou cadeia de caracteres especificada retorna o primeiro arquivo ou pasta. Em palavras simples, se temos uma pasta ABC e dentro de ABC existe um arquivo XYZ, podemos acessar o arquivo XYZ usando a função DIR no VBA.

Fórmula para a função DIR no Excel VBA

A função DIR possui a seguinte sintaxe no Excel VBA:

Ele tem duas partes, Nome do caminho e Atributos.

  • Nome do caminho: pelo nome, todos podem entender que é o caminho do arquivo onde ele realmente existe. Se não inserirmos nenhum caminho no nome do caminho, ele retornará uma string vazia.
  • Atributo: É um argumento opcional, não usamos muito disso. Podemos usar isso quando queremos abrir o arquivo com os atributos abaixo e o VBA procura esses arquivos.
vbArchiveEspecifica arquivos ou arquivos de backup.
vbNormalNormal (padrão) ou sem atributos.
vbReadOnlyarquivos somente leitura
vbSystemArquivos do sistema
vbVolumerótulo de volume; Se você usar qualquer outro atributo com esse, o rótulo do volume será ignorado.
vbDirectoryDiretórios ou pastas.
vbHiddenarquivos ocultos
vbAliasO nome do arquivo é um alias

Como usar a função DIR no Excel VBA?

Abaixo estão os diferentes exemplos para usar a Função DIR no Excel usando o código VBA.

Você pode fazer o download deste modelo do VBA DIR Excel aqui - Modelo do VBA DIR Excel

Função VBA DIR - Exemplo # 1

Neste exemplo, veremos como acessar um nome de arquivo usando a função DIR no VBA.

Etapa 1: Vá para a guia Developers e clique em Visual Basic

Etapa 2: Abra um módulo na opção de menu Inserir, como mostrado abaixo.

Etapa 3: para iniciar qualquer macro, primeiro precisamos dar um nome à macro com a palavra-chave 'sub' como abaixo.

Código:

 Sub myexample1 () End Sub 

Lembre-se de que estamos escrevendo nosso código no “Módulo1” quando inserimos “sub myexample ()”, automaticamente o “End sub” aparecerá.

Etapa 4: defina uma string usando a palavra-chave " Dim ", que se refere à dimensão. Na captura de tela abaixo, "mystring" é o nome da string.

Código:

 Sub myexample1 () Dim mystring As String End Sub 

Lembre-se sempre que definir os nomes dos tipos de dados ou do programa, não deve haver espaço entre duas palavras. "Mystring" não há espaço entre "my" e "string".

O arquivo está disponível na pasta de amostra, disponível na área de trabalho, e o nome do arquivo é "KT tracker mine".

C: \ Usuários \ cba_13 \ Desktop \ Amostra \

Etapa 5: Agora precisamos armazenar o nome do arquivo em "mystring" usando a função Dir.

Código:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

Na captura de tela acima na função Dir, forneci o caminho do arquivo, excluindo o nome do arquivo. Como existe apenas um arquivo, ele retornará o nome do arquivo.

Etapa 6: Agora, com a etapa acima, o nome do arquivo armazenado na string "mystring". Para exibir o nome do arquivo, precisamos exibi-lo através de uma caixa de mensagem. Crie uma caixa de mensagem.

Código:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Demos a instrução para exibir os dados em "mystring" através da caixa de mensagem, pois "mystring" tem nome de arquivo e exibirá o nome do arquivo através da caixa de mensagem.

Etapa 7: Agora execute o código clicando no botão Play ou pressionando a tecla F5.

Função VBA DIR - Exemplo # 2

Neste exemplo, veremos como abrir um arquivo usando a função DIR no Excel VBA.

Etapa 1: abra a tela de código VBA e comece fornecendo o nome do programa como "exemplo2" ou qualquer nome que você desejar.

Código:

 Sub exemplo2 () End Sub 

Etapa 2: defina duas cadeias com os nomes "Nome da pasta" e "Nome do arquivo".

Código:

 Sub example2 () Dim Nome da pasta como string Dim Nome do arquivo como String End Sub 

Etapa 3: agora atribua o caminho da pasta ao nome da pasta.

Código:

 Sub example2 () Dim Nome da pasta como string Dim Nome do arquivo como String Nome da pasta = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Etapa 4: atribua o arquivo ao "nome do arquivo" usando a função Dir. Aqui usamos a variável "Foldername" porque ela possui o caminho da pasta. Com a ajuda do e comercial, adicionamos o nome do arquivo ao caminho.

Código:

 Sub example2 () Dim Nome da pasta como string Dim Nome do arquivo como String Nome da pasta = "C: \ Users \ cba_13 \ Desktop \ Sample \" Nome do arquivo = Dir (Nome da pasta e "KT Tracker mine.xlsx") End Sub 

Agora, a função Dir retorna o nome do arquivo e ele será armazenado na variável "filename".

Etapa 5: no exemplo anterior, usamos a caixa de mensagem para ver os resultados. Mas, como queremos abrir o arquivo, usaremos o comando "workbooks.open".

Código:

 Sub example2 () Dim Nome da pasta como string Dim Nome do arquivo como String Nome da pasta = "C: \ Users \ cba_13 \ Desktop \ Sample \" Nome do arquivo = Dir (Nome da pasta e "KT Tracker mine.xlsx") Pastas de trabalho. 

Etapa 6: execute o código acima, ele abrirá o arquivo disponível na pasta “C: \ Users \ cba_13 \ Desktop \ Sample \” com o nome de arquivo “KT Tracker mine”.

Função VBA DIR - Exemplo # 3

Agora veremos o programa para saber se uma pasta está disponível ou não. Eu tenho a pasta "Dados", como mostrado abaixo.

Temos que verificar com a ajuda da função Dir se a pasta "Dados" está disponível no caminho C: \ Users \ cba_13 \ Desktop \ Sample \.

Etapa 1: Crie um nome de programa e defina duas cadeias com os nomes FD e FD1.

Código:

 Sub example3 () Dim Fd Como String Dim Fd1 Como String End Sub 

Etapa 2: atribua o caminho da pasta à variável "Fd".

Código:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Etapa 3: Agora use a função Dir para retornar o nome da pasta, como mostrado abaixo.

Código:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

O resultado da função Dir deve ser o nome da pasta e ele será armazenado na variável de string Fd1. Se a pasta “Dados” não estiver disponível na respectiva pasta, ela não retornará nenhuma string.

Etapa 4: Agora precisamos verificar se o Fd1 tem uma pasta "Dados" ou não. Use a condição SE para verificar se Fd1 tem a sequência "Dados" ou não. Se estiver disponível, imprima a declaração como "Existe".

Código:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data", então MsgBox ("Exits") End Sub 

Etapa 5: Caso Fd1 não corresponda à pasta "Dados", a declaração "Não existe" será impressa na outra condição.

Código:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data", então MsgBox ("Exits") MsgBox ("Não existe") End Sub 

Etapa 6: finalize o loop "If", conforme mostrado na captura de tela abaixo.

Código:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data", então MsgBox ("Exits") MsgBox ("Não sai") End If End Sub 

Etapa 7: execute o código pressionando a tecla F5 ou clicando no botão Play para verificar se a pasta está disponível ou não. Se a pasta "Dados" estiver disponível nessa pasta, ela retornará a caixa de mensagem com a mensagem "Existe" como abaixo.

Etapa 8: basta alterar o nome da pasta como Data1.

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data", então MsgBox ("Exits") MsgBox ("Não sai") End If End Sub 

Etapa 9: execute o código novamente. Agora, o resultado é "Não existe", como mostrado abaixo.

Coisas para lembrar

  • Os argumentos na função Dir são opcionais.
  • Se quisermos arquivos ocultos, pastas ou tipos diferentes de diretórios, mencione sua exigência no segundo argumento.
  • Use “\” no final do nome da pasta enquanto fornece a função Dir para ir para a pasta.
  • Se quisermos chamar ou abrir vários arquivos, podemos usar o caractere curinga "*" ou "?".

Artigos recomendados

Este é um guia para a função VBA DIR. Aqui discutimos como usar a função DIR no Excel VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Pasta de trabalho do VBA
  2. Função indireta no Excel
  3. Contagem VBA
  4. Função XOR do Excel

Categoria: