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

Como deletar em lote todas as pastas vazias no Outlook?

Suponha que haja dezenas de pastas vazias em uma pasta de e-mail no Outlook, geralmente podemos excluir as pastas vazias uma a uma clicando com o botão direito do mouse no menu. Comparado ao clicar com o botão direito repetidamente, este artigo apresentará um VBA para excluir rapidamente todas as subpastas vazias de uma pasta do Outlook em massa.

Excluir em lote todas as pastas vazias no Outlook com VBA

Guia Office - Habilite a edição e navegação com guias no Office e torne o trabalho muito mais fácil ...
Kutools for Outlook - traz 100 recursos avançados poderosos para o Microsoft Outlook
  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários e-mails por regras; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tenta responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails de uma vez; Adicionar saudação automaticamente quando responder; Adicionar data e hora automaticamente ao assunto ...
  • Ferramentas de Anexo: Desanexar automaticamente, Comprimir tudo, Renomear tudo, Salvar tudo automaticamente ... Relatório Rápido, Contar e-mails selecionados, Remover e-mails e contatos duplicados ...
  • Mais de 100 recursos avançados resolva a maioria dos seus problemas no Outlook 2010-2019 e 365. Full features 60-day free trial.

seta azul bolha direitaExcluir em lote todas as pastas vazias no Outlook com VBA

Para remover todas as subpastas vazias de uma determinada pasta do Outlook, faça o seguinte:

1. pressione outro + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Clique inserção > Móduloe cole o código VBA abaixo na janela do novo módulo.

VBA: Exclua todas as subpastas vazias de determinada pasta do Outlook em massa

Public Sub DeletindEmtpyFolder()
Dim xFolders As Folders
Dim xCount As Long
Dim xFlag As Boolean
Set xFolders = Application.GetNamespace("MAPI").PickFolder.Folders
Do
FolderPurge xFolders, xFlag, xCount
Loop Until (Not xFlag)
If xCount > 0 Then
MsgBox "Deleted " & xCount & "(s) empty folders", vbExclamation + vbOKOnly, "Kutools for Outlook"
Else
MsgBox "No empty folders found", vbExclamation + vbOKOnly, "Kutools for Outlook"
End If
End Sub

Public Sub FolderPurge(xFolders, xFlag, xCount)
Dim I As Long
Dim xFldr As Folder 'Declare sub folder objects
xFlag = False
If xFolders.Count > 0 Then
For I = xFolders.Count To 1 Step -1
Set xFldr = xFolders.Item(I)
If xFldr.Items.Count < 1 Then 'If the folder is empty check for subfolders
If xFldr.Folders.Count < 1 Then 'If the folder contains not sub folders confirm deletion
xFldr.Delete 'Delete the folder
xFlag = True
xCount = xCount + 1
Else 'Folder contains sub folders so confirm deletion
FolderPurge xFldr.Folders, xFlag, xCount
End If
Else 'Folder contains items or (subfolders that may be empty).
FolderPurge xFldr.Folders, xFlag, xCount
End If
Next
End If
End Sub

3. pressione F5 Chave ou Corrida botão para executar este código VBA.

4. Na caixa de diálogo Selecionar pasta, selecione a pasta específica cujas subpastas vazias você excluirá em massa e clique no botão OK botão. Veja a imagem:

5. Agora, uma caixa de diálogo do Kutools para Outlook é exibida e mostra quantas subpastas vazias foram excluídas. Clique no OK botão para fechá-lo.

Até agora, todas as subpastas da pasta especificada do Outlook já foram excluídas em massa.


seta azul bolha direitaArtigos Relacionados

Localizar pasta (caminho completo da pasta) pelo nome da pasta no Outlook


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (10)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Brilhante!!!
Este comentário foi feito pelo moderador no site
Estou recebendo o seguinte erro ao executar o acima " Erro em tempo de execução '-2147352567 (80020009)' Não é possível excluir esta pasta. Clique com o botão direito do mouse na pasta e clique em propriedades para verificar suas permissões para a pasta. Consulte o proprietário da pasta ou seu administrador para alterar suas permissões"

Parece que o script move 1 item para a pasta excluída e, em seguida, apresenta erros.
Este comentário foi feito pelo moderador no site
Concordo - recebo o mesmo erro.
Este comentário foi feito pelo moderador no site
O script tenta excluir uma pasta que já foi excluída.
Eu adicionei uma linha após xFlag = False com este conteúdo:
em caso de erro, retomar próximo
Este comentário foi feito pelo moderador no site
De fato, adicione:

On Error Resume Next

DEPOIS DE:

Dim x Fldr As Folder 'Declarar objetos de subpasta
xFlag = Falso

Deve ficar assim:

Dim x Fldr As Folder 'Declarar objetos de subpasta
xFlag = Falso
On Error Resume Next
Este comentário foi feito pelo moderador no site
Estou recebendo o mesmo erro como Bryan.... e agora?
Este comentário foi feito pelo moderador no site
O script tenta excluir uma pasta que já foi excluída.
Eu adicionei uma linha após xFlag = False com este conteúdo:
em caso de erro, retomar próximo
Este comentário foi feito pelo moderador no site
Super fácil e incrivelmente útil. Obrigada!!
Este comentário foi feito pelo moderador no site
74 pastas vazias foram excluídas, mas infelizmente também 109 pastas que não foram. Outras pastas vazias foram deixadas intocadas.
Este comentário foi feito pelo moderador no site
Isso funcionou muito bem para mim. Obrigada. Algumas pastas não podem ser excluídas, pois são nativas do Outlook, mas as subpastas funcionam muito bem.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos