Para manter a caixa de correio do Outlook em tamanho pequeno e evitar a corrupção de dados do Outlook, sugere-se remover os anexos dos e-mails que foram recebidos ou enviados há um período específico. Este artigo ajudará você a fazer isso rapidamente com o Outlook VBA.
Como todos sabemos, com a caixa de correio do Outlook maior, os dados do Outlook se tornarão muito mais vulneráveis. Portanto, eu me acostumei a remover os anexos nos e-mails antigos que são anteriores a uma data específica, pois geralmente salvei esses anexos no meu disco local antes. Mas é um pouco problemático ter que descobrir quais e-mails são antigos e remover manualmente os anexos. Para melhorar minha eficiência, desenvolvo uma solução por meio do Outlook VBA.
Remover anexos de e-mails recebidos anteriores a uma data específica
- Para começar, abra o Outlook e vá para a guia “Desenvolvedor”.
- Em seguida, pressione o botão “Visual Basic” no grupo “Código”.

- Uma nova janela aparecerá. Nele, você deve abrir um novo módulo e copiar os seguintes códigos para ele.
Sub RemoveAttachmentsfromAgedEmail()
Dim olInbox As Outlook.Folder
Dim varItem As Variant
Dim i As Integer
Dim intDatDiff As Integer
Dim Att As Attachment
Set olInbox = Session.GetDefaultFolder(olFolderInbox)
For i = olInbox.Items.Count To 1 Step -1
Set varItem = olInbox.Items.Item(i)
If varItem.Class = olMail Then
'calculate the period between now and the received time
intDatDiff = DateDiff("d", varItem.ReceivedTime, Now)
'You can replace "50" as per your needs
If intDatDiff > 50 Then
For Each Att In varItem.Attachments
Att.Delete
Next Att
varItem.Save
End If
End If
Next
End Sub
- Agora você pode sair da janela “Visual Basic” atual e adicionar a macro à Barra de Ferramentas de Acesso Rápido. Siga os passos abaixo:
- Em primeiro lugar, pressione a seta para baixo na barra de ferramentas de acesso rápido e escolha “Mais comandos” na lista suspensa.
- Então você deve selecionar “Macros” no campo “Escolher comandos de”.
- Em seguida, selecione a macro correta e clique no botão "Adicionar" no centro.
- Por fim, clique no botão “OK” para ativá-lo e voltar à janela principal do Outlook.
- Eventualmente, você pode encontrar e clicar no botão na Barra de Ferramentas de Acesso Rápido. Os anexos nos e-mails, que são mais antigos do que a data especificada, serão removidos rapidamente.
Remover anexos de e-mails enviados anteriores a uma data específica
Para atingir esse objetivo, você pode copiar todos os códigos VBA acima, mas alterar algumas linhas seguindo os avisos abaixo:
- Em primeiro lugar, altere todo o “olInbox” para “olSentItemFolder” nos códigos VBA.
- Em seguida, substitua “Set olInbox = Session.GetDefaultFolder(olFolderInbox)” por:
Set olSentItemFolder = Session.GetDefaultFolder(olFolderSentMail)
- Em seguida, substitua “intDatDiff = DateDiff(“d”, varItem.ReceivedTime, Now)” por:
intDatDiff = DateDiff("d", varItem.SentOn, Now)
Elimine erros irritantes do Outlook
Se você usa o Outlook há muito tempo, erros frequentes devem ter se tornado comuns. É evidente que você não pode prever ou se livrar completamente deles. O que você pode fazer é apenas tentar o seu melhor para resolvê-los. Por exemplo, use a ferramenta de reparo da caixa de entrada, Scanpest.exe para corrigir erro de e-mail do Outlook. Além disso, você deve fazer um backup regular dos dados do Outlook em caso de falha inesperada.
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 reparar SQL Server danos mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


