Se você deseja excluir em lote todas as subpastas vazias no Outlook, pode utilizar o método apresentado neste artigo. Ele ensinará como usar o Outlook VBA para excluir as subpastas em lotes.
Para melhor classificar e gerenciar seus e-mails do Outlook, você provavelmente criou diversas subpastas personalizadas dentro das pastas padrão, como Caixa de Entrada, Itens Enviados ou Rascunhos. No entanto, às vezes, você pode perceber que algumas subpastas não são usadas com frequência. Consequentemente, na maioria das vezes, elas ficam vazias. Nesse caso, você provavelmente desejará excluir todas as subpastas vazias.

Em geral, você pode clicar com o botão direito do mouse em uma subpasta e escolher “Excluir pasta” no menu do botão direito. No entanto, se houver muitas subpastas vazias, excluir uma a uma será bastante problemático. Portanto, você deve esperar uma dica para excluir todos eles em massa. Embora o Outlook não forneça esse recurso, você ainda pode usar o código VBA para realizá-lo rapidamente. A seguir, mostraremos os passos e códigos elaborados.
Excluir em lote todas as subpastas vazias
- Primeiramente, inicie o programa Outlook.
- Em seguida, pressione os botões de tecla “Alt + F11” na janela principal do Outlook.
- Em seguida, na janela “Microsoft Visual Basic for Applications”, abra um módulo que não esteja em uso.
- Posteriormente, copie e cole os seguintes códigos VBA neste módulo.
Public Sub GetAllSubfolders()
Dim objFolders As Outlook.Folders
Dim objFolder As Outlook.Folder
Dim i As Long
On Error Resume Next
'Change "Personal" to the name of your Outlook data file
Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
For Each objFolder In objFolders
If objFolder.Folders.Count > 0 Then
For i = objFolder.Folders.Count To 1 Step -1
Call DeleteEmptyFolder(objFolder.Folders(i))
Next
End If
Next
MsgBox ("Completed!")
End Sub
Public Sub DeleteEmptyFolder(objCurrentFolder As Outlook.Folder)
Dim objSubFolder As Outlook.Folder
Dim n As Long
If objCurrentFolder.Items.Count = 0 Then
objCurrentFolder.Delete
End If
'Process the subfolders recursively
If objCurrentFolder.Folders.Count > 0 Then
For n = objCurrentFolder.Folders.Count To 1 Step -1
Set objSubFolder = objCurrentFolder.Folders(n)
Call DeleteEmptyFolder(objSubFolder)
Next
End If
End Sub
- Depois disso, altere o nível de segurança de macro do Outlook para baixo.
- Eventualmente, você pode executar esta macro pressionando o botão de tecla “F5” na janela de macro atual.
- Imediatamente, você descobrirá que todas as subpastas vazias serão excluídas.
Recuperar Dados PST do Outlook Corrompidos
Devido ao fato de que o Outlook é suscetível a erros e danos, você deve prestar atenção para proteger seu arquivo PST do Outlook. Por exemplo, você deve fazer backup de seus dados PST periodicamente. Além disso, para reparar o Outlook problemas o mais rápido possível, você deve preparar uma ferramenta de correção confiável e poderosa como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo SQL Server corrupção e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
