
Outlook 2010 (32 bits) Windows 7 (64 bits)
Eu tenho um sistema com Outlook 2010 (modo de cache não ativado) e algumas das subpastas da caixa de entrada do usuário ficaram significativamente inchadas (contendo mais de 50.000 mensagens). Gostaria de eliminá-los da maneira mais eficiente possível (preservando o próprio nome/local do diretório).
Se eu clicar com o botão direito na pasta e selecionar "Excluir tudo", recebo uma mensagem perguntando se tenho certeza de que desejo mover todos os itens desta pasta para a pasta Itens excluídos. Quando clico em sim, vejo uma barra de progresso "preparando para excluir"... e quando chega ao fim, nada acontece. A barra de progresso fecha normalmente, mas as mensagens ainda estão no diretório.
Existe uma maneira alternativa de fazer isso?
Responder1
Excluir tudomove apenas os itens que residem na pasta selecionada (excluindo subpastas). Para alcançar o resultado desejado você precisará escrever um script VBA como este:
Private Sub CleanSubfolders(ByVal Folder As Folder)
For i = Folder.Items.Count To 1 Step -1
Folder.Items(i).Delete
Next
For Each Folder In Folder.Folders
CleanSubfolders Folder
Next
End Sub
Sub CleanFolders()
Set Folder = Session.PickFolder()
If Not Folder Is Nothing Then
CleanSubfolders Folder
End If
End Sub
Executando oLimpar pastasmacro excluirá efetivamente todos os itens da pasta selecionada, incluindo todas as suas subpastas.
Responder2
Gosto mais da resposta do @thims, pois executa especificamente uma tarefa idêntica à que eu estava tentando fazer. Dito isto, notei recentemente que a exclusão permanente de mensagens também limpa a pasta.
Para fazer isso, segure a SHIFT
tecla enquanto clica com o botão direito na pasta e selecione Delete All
. Desta vez, o usuário receberá uma mensagem perguntando se você deseja excluir permanentemente todas as mensagens (em vez de movê-las para a lixeira). Isso funciona, então suspeito que o problema subjacente aqui seja um bug do Outlook que move grandes quantidades de mensagens entre pastas.