Como definir automaticamente um tempo de expiração para e-mails recebidos ou enviados com o Outlook VBA

Compartilhe agora:

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.

E-mails expirados

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.

Definir o tempo de expiração para e-mails manualmente

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

  1. Em primeiro lugar, inicie o aplicativo Outlook e mude para a guia “Desenvolvedor”.
  2. Em seguida, clique no botão “Visual Basic”.
  3. 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

Códigos VBA - Definir automaticamente um tempo de expiração para e-mails recebidos ou enviados

  1. Depois disso, você deve assinar digitalmente a nova macro “ThisOutlookSession”.
  2. Posteriormente, você precisa alterar o nível de segurança de macro do Outlook para baixo.
  3. 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.Caixa de mensagem solicitando o tempo de expiração

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

Compartilhe agora:

2 responses to “How to Auto Set an Expiry Time for Incoming or Outgoing Emails with Outlook VBA”

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *