Ir ao conteúdo
  • Cadastre-se

Excel VBA no excel para excluir pasta no windows explorer


Ir à solução Resolvido por Marcelo Lisboa Conde,

Posts recomendados

Criei uma macro para excluir a pasta do cliente no windows explorer após a exclusão do cadastro, porém executa primeiro a mensagem "Pasta Cliente FULANO 1_6_2020 não existe ou já foi excluída." e depois  executa a exclusão da pasta. Peço ajuda para verificar onde está o erro de sequencia das linhas de comando. Esta mensagem somente deveria aparecer se a pasta não existisse. Tem uma Sub que exclui o cadastro e depois chama esta macro. Segue abaixo a macro criada:

Sub Elimina_Pasta()
'
'   exclui a pasta do cliente macro
'
Dim fso
'
X = Range("I10").Value ' X recebe nome contido na célula "I10"
Y = Range("E8").Value ' Y recebe o ano contido na célula "E8"
Z = Range("F8").Value ' Z recebe o mês contido na célula "F8"
W = Range("G8").Value ' Y recebe o dia contido na célula "G8"
'
On Error GoTo NaoExistePasta
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
fso.DeleteFile ("D:\Controle Escritorio\" & X & " " & W & "_" & Z & "_" & Y \ "*.*")
fso.DeleteFolder ("D:\Controle Escritorio\" & X & " " & W & "_" & Z & "_" & Y)
'
    MsgBox "PASTA CLIENTE excluída com sucesso.", vbOKOnly, "CONTROLE DE ESCRITÓRIO"
'
Set fso = Nothing
'
Exit Sub
'
NaoExistePasta:
'
MsgBox "Pasta Cliente " & X & " " & W & "_" & Z & "_" & Y & " não existe ou já foi excluída.", vbOKOnly, "CONTROLE DE ESCRITÓRIO"
'
Resume Next
'
End Sub

Agradeço desde já pela ajuda.

Link para o comentário
Compartilhar em outros sites

@Marcelo Lisboa Conde Boas,

Experimente assim:

Sub Elimina_Pasta()
'
'   exclui a pasta do cliente macro
'
Dim fso
'
X = Range("I10").Value ' X recebe nome contido na célula "I10"
Y = Range("E8").Value ' Y recebe o ano contido na célula "E8"
Z = Range("F8").Value ' Z recebe o mês contido na célula "F8"
W = Range("G8").Value ' Y recebe o dia contido na célula "G8"
'
On Error GoTo NaoExistePasta
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
fso.DeleteFile ("D:\Controle Escritorio\" & X & " " & W & "_" & Z & "_" & Y \ "*.*")
fso.DeleteFolder ("D:\Controle Escritorio\" & X & " " & W & "_" & Z & "_" & Y)
'
    MsgBox "PASTA CLIENTE excluída com sucesso.", vbOKOnly, "CONTROLE DE ESCRITÓRIO"
'
Set fso = Nothing
'
Exit Sub
'
NaoExistePasta:
'
MsgBox "Pasta Cliente " & X & " " & W & "_" & Z & "_" & Y & " não existe ou já foi excluída.", vbOKOnly, "CONTROLE DE ESCRITÓRIO"
'
End Sub

 

Removi o "Resume Next"

Link para o comentário
Compartilhar em outros sites

@Marcelo Lisboa Conde Veja se este caminho está correto : "D:\Controle Escritorio\"  
Para saber o caminho correto da pasta:

  1. Clique com o botão direito sobre a mesma
  2. Escolha propriedades
  3. Na aba Segurança
  4. Onde está "Nome do Objeto" é o caminho correto da pasta

 

Caso a pasta esteja em um servidor de rede, terá que trocar a letra "D" pelo nome do servidor.

Link para o comentário
Compartilhar em outros sites

D:\ é uma partição do meu HD onde armazeno os arquivos. Se colocar de novo o RESUME NEXT ele exclui a pasta mas primeiro informa que a pasta não existe e depois volta para deletar. Acredito que a posição da linha "On Error GoTo NaoExistePasta" está errada. Já tentei várias posições mas nenhuma funcionou.

Link para o comentário
Compartilhar em outros sites

Na Private Sub btExcluir_Click eu coloquei a Call Elimina_Pasta antes de executar a exclusão do cadastro e funcionou legal. Acho que como estava logo acima da Call LimpaDadosExcluidos na sub btExcluir, esta executava mais rápido que a 1ª, pois limpava os campos de data e nome e dava o erro. Obrigado pela ajuda.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

19 minutos atrás, Marcelo Lisboa Conde disse:

Na Private Sub btExcluir_Click eu coloquei a Call Elimina_Pasta antes de executar a exclusão do cadastro e funcionou legal. Acho que como estava logo acima da Call LimpaDadosExcluidos na sub btExcluir, esta executava mais rápido que a 1ª, pois limpava os campos de data e nome e dava o erro. Obrigado pela ajuda.

Ah entendi! 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!