Se quiser permitir que o Outlook exclua automaticamente e-mails específicos, você pode definir um tempo de expiração para os e-mails e usar o AutoArquivar para excluir os e-mails expirados quando o tempo acabar. Este artigo ensinará como definir automaticamente um tempo de expiração para todos os e-mails recebidos via Outlook VBA.
Em geral, o AutoArquivar pode funcionar em uma pasta inteira ou em uma caixa de correio inteira. Se você deseja habilitá-lo para excluir apenas itens específicos, você precisará primeiro especificar o tempo de expiração dos e-mails. Assim, na próxima vez que o AutoArquivar for executado, ele excluirá automaticamente o tempo expirado. Além disso, como você pode ver, os e-mails com prazo de validade serão exibidos em fonte tachada cinza, como na imagem abaixo.
Você pode definir o tempo de expiração dos e-mails na janela Propriedades do e-mail atual. Dessa forma, você deve especificá-lo manualmente todas as vezes, o que é complicado.
Nesta circunstância, você deve desejar que o Outlook possa definir automaticamente o tempo de expiração para e-mails recebidos ou enviados. Você pode fazer isso com o Outlook VBA. Aqui estão os passos e códigos elaborados.
Definir automaticamente um tempo de expiração para e-mails recebidos ou enviados
- Em primeiro lugar, inicie o aplicativo Outlook e mude para a guia “Desenvolvedor”.
- Em seguida, clique no botão “Visual Basic”.
- Na nova janela pop-up, abra o projeto VBA “ThisOutlookSession” e copie e cole os seguintes códigos nele.
Public WithEvents olItems As Items Private Sub Application_Startup() 'Para focar nos novos emails recebidos Set olItems = Application.Session.GetDefaultFolder(olFolderInbox).Items 'Se quiser focar nos emails enviados 'Use "Set olItems = Application.Session.GetDefaultFolder(olFolderSentMail).Items End Sub Private Sub olItems_ItemAdd(ByVal Item As Object) Dim strMsg As String Dim nRes As Integer If Item.ExpiryTime = #1/1/4501# Then '("m",2,Item.ReceivedTime) refere-se a 2 meses após o item chega na pasta especificada 'Você pode alterá-lo de acordo com suas necessidades reais Item.ExpiryTime = DateAdd("m", 2, Item.ReceivedTime) strMsg = "O novo e-mail " & Chr(34) & Item.Subject & Chr( 34) & "expirará em " & DateAdd("m", 2, Item.ReceivedTime) & "." nRes = MsgBox(strMsg, vbExclamation + vbOKOnly, "Expiry Time") End If Item.Save End Sub
- Depois disso, você deve assinar digitalmente a nova macro “ThisOutlookSession”.
- Posteriormente, você precisa alterar o nível de segurança de macro do Outlook para baixo.
- finalmente restart Outlook para ativar o projeto VBA. A partir de agora, todos os novos e-mails na pasta Caixa de entrada ou Itens enviados terão o tempo de expiração. Além disso, você receberá uma caixa de mensagem como a captura de tela a seguir.
Mantenha e-mails maliciosos na baía
O Outlook não pode estar isento de corrupções, pois hoje em dia os e-mails maliciosos se tornaram um dos most ameaças de segurança comuns. Os vírus podem ser escondidos nos e-mails facilmente. Portanto, você deve ser cauteloso o tempo todo ao lidar com novos e-mails. Caso contrário, é muito provável que você sofra de Corrupção de arquivo do Outlook PST, que será bastante complicado.
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 reparo corrompido SQL Server banco de dados mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
Desculpe, não posso ajudar em nada. Mas é garantido que você encontrará a decisão correta. Não se desespere.
Sua mensagem, simplesmente encanta