Como verificar se existe uma pasta de trabalho em uma pasta?
Para verificar se existe uma pasta de trabalho em uma pasta específica, você pode usar a função DIR. DIR é uma função que representa o diretório. Você precisa especificar o caminho do arquivo com nome e extensão. Se existir um arquivo, ele retornará o nome do arquivo, caso contrário, um valor vazio.
Escreva um código para verificar se existe um arquivo Excel em uma pasta
Use as seguintes etapas:
- Primeiro, especifique um intervalo ou caixa de mensagem para obter o resultado da função.
- Agora insira o nome da função “DIR” e digite os parênteses iniciais.
- Depois disso, insira o caminho do arquivo usando aspas duplas e certifique-se de inserir a extensão do arquivo junto com o nome do arquivo.
- Em seguida, digite os parênteses de fechamento para fechar a linha de código.
Sub vba_Check_workbook() MsgBox Dir("C:UsersDellDesktopbook1.xlsx") End Sub
Ao executar esta linha de código, aparece uma caixa de mensagem contendo o nome do arquivo, o que significa que o arquivo existe no local especificado.
Links úteis: Executar uma macro – Gravador de macro – Editor Visual Basic – Manual pessoal de macros
Encontre vários arquivos se eles existirem em uma pasta
Pode ser necessário verificar vários arquivos se todos existirem em uma pasta. Neste caso você pode usar o seguinte código.
Sub vba_check_workbook() Dim myFolder As String Dim myFileName As String Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A5") myFolder = "C:UsersDellDesktopData" For Each myCell In myRange myFileName = myCell.Value If Dir(myFolder & "" & myFileName) = "" Then myCell.Offset(0, 1) = "File Doesn't Exists." Else myCell.Offset(0, 1) = "File Exists" End If Next myCell End Sub
Para entender esse código, dividi-o em três partes.
- Na PRIMEIRA parte você tem todas as variáveis que precisamos usar no código. Uma variável para usar como endereço da pasta, nome do arquivo, o intervalo onde você tem todos os nomes e cada célula do intervalo.
- Na SEGUNDA parte, você define a faixa de endereços onde estão todos os nomes dos arquivos que deseja verificar. E também o caminho da pasta atribuído à variável.
- Na TERCEIRA parte você tem um LOOP FOR EACH para percorrer todos os arquivos da pasta. Este loop usa o DIR para corresponder a todos os nomes que você possui no intervalo. Ele também usa IF STATEMENT para inserir um valor na célula correspondente como uma observação se o arquivo existe ou não.
Nota: Se quiser usar este código, você precisa alterar o caminho da pasta e definir o intervalo no qual você tem todos os nomes das pastas de trabalho.