Note: The other languages of the website are Google-translated. Back to English

 Como verificar se existe uma pasta e caso não crie?

Você já tentou verificar se existe uma pasta ou não na planilha do Excel? Neste artigo, falarei sobre como verificar se existe uma pasta em um caminho especificado, caso contrário, a pasta será criada automaticamente sob o caminho.

Verifique se existe uma pasta em um caminho de arquivo específico com código VBA

Crie a pasta se ela não existir em um caminho de arquivo específico com o código VBA


seta azul bolha direita Verifique se existe uma pasta em um caminho de arquivo específico com código VBA

O seguinte código VBA pode ajudá-lo a verificar se existe uma pasta em um caminho de arquivo específico, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: verifique se existe uma pasta em um caminho de arquivo específico:

Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
    Dim sFolderPath As String
    sFolderPath = "C:\Users\DT168\Desktop\Test folder"
    If Right(sFolderPath, 1) <> "\" Then
        sFolderPath = sFolderPath & "\"
    End If
    If Dir(sFolderPath, vbDirectory) <> vbNullString Then
        MsgBox "Folder exist", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
    End If
End Sub

Observação: No código acima, você deve alterar o caminho e o nome da pasta C: \ Users \ DT168 \ Desktop \ pasta de teste para o seu necessário.

3. Então aperte F5 chave para executar este código, você obterá os seguintes resultados:

pasta doc existe 1


seta azul bolha direita Crie a pasta se ela não existir em um caminho de arquivo específico com o código VBA

Verifique se existe uma pasta em um caminho de arquivo, caso contrário, para criá-la neste caminho de arquivo específico, o código VBA a seguir pode ajudá-lo a terminar este trabalho.

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: crie uma pasta se não existir em um caminho de arquivo:

Sub MakeMyFolder()
'Updateby Extendoffice
    Dim fdObj As Object
    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
        MsgBox "Found it.", vbInformation, "Kutools for Excel"
    Else
        fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
        MsgBox "It has been created.", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

Importante: No código acima, você deve alterar o caminho e o nome da pasta C: \ Users \ DT168 \ Desktop \ pasta de teste para o seu necessário.

3. Depois de colar o código, pressione F5 chave para executá-lo:

(1.) Se a pasta existir, uma caixa de prompt aparecerá como a seguinte captura de tela mostrada:

pasta doc existe 2

(2.) Se a pasta não existir, ela será criada no caminho específico de uma vez, e uma caixa de prompt aparecerá para lembrá-lo de que a pasta foi criada, veja a captura de tela:

pasta doc existe 3


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (11)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Está refletindo um erro @ fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
Este comentário foi feito pelo moderador no site
Olá, Alok,
Os códigos acima funcionam bem na minha pasta de trabalho do Excel, o caminho "C:\Users\DT168\Desktop\Test folder" é o caminho do meu computador, você deve alterar o caminho da pasta para o seu.
Obrigado!
Este comentário foi feito pelo moderador no site
Ótimo artigo. É mesmo o que eu procurava :)
Este comentário foi feito pelo moderador no site
Isso é realmente útil! obrigado!
Este comentário foi feito pelo moderador no site
Obrigado cara, trabalho incrível
Este comentário foi feito pelo moderador no site
Super obrigado!
Este comentário foi feito pelo moderador no site
Estou executando esta macro, mas na etapa de criação da pasta, o processo fica inativo.

pode me ajudar????


'Comprobar si la carpeta existe

Dim ruta como string
Dim libro As String

M = ActiveWorkbook.Name

ruta = Application.Workbooks(M).Sheets("Diccionario").Range("B5").Value

Se Certo(ruta, 1) <> "\" Então
rota = rota & "\"
Se acabar
If Dir(ruta, vbDirectory) <> vbNullString Then
MsgBox "Pasta existe, por favor continue"
Outro
MsgBox "A pasta não existe"
Se acabar

'Crea la carpeta que necesitas

Dim fdObj As Object
Dim pasta como string

folder = Application.Workbooks(M).Sheets("Dicionario").Range("B5").Value (aqui é onde o processo cai)

Application.ScreenUpdating = False
Set fdObj = CreateObject("Scripting.FileSystemObject")
Se fdObj.FolderExists(pasta) Então
MsgBox "Encontrei, por favor continue."
Outro
fdObj.CreateFolder (pasta)
MsgBox "Foi criado."
Se acabar
Application.ScreenUpdating = True
Este comentário foi feito pelo moderador no site
Oi, Isso funciona muito bem, haveria alguma chance de que o nome da pasta usada ao verificar se uma pasta já existe seja derivado de uma célula dentro da planilha, digamos A2?

Eu uso uma planilha de modelo que é atualizada automaticamente de outra fonte, então a célula A2 muda constantemente, o que exige que novas pastas sejam criadas com o mesmo nome.

Além disso, poderia haver um comando que faça o acima, mas também salve a planilha ativa na pasta encontrada / criada?

Alguma esperança? TIA
Este comentário foi feito pelo moderador no site
excelente, me sirvió mucho el Objeto. Uso para tapetes como arquivos. Muchas gracias
Este comentário foi feito pelo moderador no site
Como criar pasta na área de trabalho com vba sempre que o livro do excel for aberto, se existir, ignore.
Mensagem se criar nova pasta, silêncio se a pasta existir.


Private Sub Workbook_Open ()

Dim cob como variante
Dim FolderName As String, FolderExists As String
FolderName = "C:\Users\AAAAA\Desktop\A New Folder" '---->Altere o nome da pasta para se adequar. Altere o AAAAA para sua exigência.
FolderExists = Dir(FolderName, vbDirectory)

Application.ScreenUpdating = False

Se FolderExists = vbNullString Then
MsgBox "A pasta desktop não existe. Criando uma nova pasta agora.", vbExclamation, "INFORMATION"
cOb = CreateObject("wscript.shell").specialfolders("Desktop") & "\" & "A New Folder" '--->Alterar o nome da pasta para se adequar.
MkDir cob
Senão: Sair Sub
Se acabar

Application.ScreenUpdating = True

End Sub

Este comentário foi feito pelo moderador no site
Como criar pasta na área de trabalho com vba sempre que o livro do excel for aberto, se existir, ignore.
Mensagem se criar nova pasta, silêncio se a pasta existir.

Private Sub Workbook_Open ()

Dim cob como variante
Dim FolderName As String, FolderExists As String
FolderName = "C:\Users\" & Environ("username") & "\Desktop\Minha pasta\" '--->Mude o nome da pasta para se adequar.
FolderExists = Dir(FolderName, vbDirectory)

Application.ScreenUpdating = False

Se FolderExists = vbNullString Then
MsgBox "A pasta desktop não existe. Criando uma nova pasta agora.", vbExclamation, "INFORMATION"
cOb = CreateObject("wscript.shell").specialfolders("Desktop") & "\" & "Minha pasta" '--->Mude o nome da pasta para se adequar.
MkDir cob
Senão: Sair Sub
Se acabar

Application.ScreenUpdating = True

End Sub
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0  Personagens
Locais sugeridos