Certaines personnes espèrent qu'Outlook peut vérifier automatiquement les sujets des anciens e-mails lorsque de nouveaux e-mails arrivent, et renommer ou supprimer les anciens e-mails s'ils ont les mêmes sujets que les nouveaux e-mails. Cela nécessite l'utilisation d'Outlook VBA. Cet article vous aidera à y parvenir.
Vous devez avoir déjà reçu de nombreux e-mails qui ont les mêmes sujets. Est-ce un peu difficile pour vous de les identifier et de les distinguer dans la liste de diffusion ? Ou pensez-vous que ces e-mails plus anciens sont exactement inutiles pour vous ? Si tel est le cas, vous devez souhaiter laisser Outlook analyser et vérifier automatiquement tous les e-mails existants lorsque de nouveaux e-mails arrivent. Lorsqu'il y a des e-mails qui ont les mêmes sujets que les nouveaux, Outlook peut vous demander de les renommer ou de les supprimer. Sans aucun doute, Outlook ne fournit pas aux utilisateurs ce type de fonctionnalité. Par conséquent, vous devez recourir à VBA. Ici, nous allons vous exposer les codes détaillés et les opérations.
Renommer ou supprimer automatiquement les anciens e-mails
- Pour commencer, vous pouvez ouvrir Outlook et vous rendre dans l'onglet « Développeur ».
- Ensuite, vous pourrez trouver et cliquer sur le bouton "Visual Basic".
- Après avoir appuyé dessus, vous accéderez à la fenêtre de l'éditeur VBA. Dans celui-ci, vous devrez ouvrir le projet "ThisOutlookSession".
- Ensuite, vous devez copier et coller les codes VBA suivants.
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
'Specify the Emails in Inbox folder
Set olItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemAdd(ByVal Item As Object)
Dim i As Long
Dim objVariant As Variant
Dim strMsg As String
Dim nRes As Integer
For i = 1 To olItems.Count
Set objVariant = olItems.Item(i)
If TypeOf objVariant Is MailItem Then
If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then
nDateDiff = DateDiff("d", objVariant.ReceivedTime, Now)
'Add "(Old)" suffix to the email subjects
objVariant.Subject = objVariant.Subject & "(Old)"
objVariant.Save
'If the old emails have been recieved for 60 days, ask you whether to delete
If nDateDiff > 60 Then
strMsg = "There are some older emails whcih have the same subjects with the new email and have been recieved for 2 months. Do you want to delete them?"
nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Find Older Emails")
If nRes = vbYes Then
objVariant.Delete
End If
End If
End If
End If
Next
End Sub
- Par la suite, vous devrez signer numériquement ce code. Appuyez sur "Outils"> "Signature numérique". Ensuite, dans la boîte de dialogue contextuelle, vous pouvez sélectionner un certificat existant. S'il n'y a pas de certificat prêt à l'emploi, vous pouvez utiliser "Certificats numériques pour les projets VBA" pour en créer un nouveau.
- Après cela, vous pouvez quitter la fenêtre actuelle et procéder à la modification des paramètres de macro, en n'autorisant que les macros signées numériquement.
- Enfin, vous pouvez redémarrer Outlook pour activer la nouvelle macro. Désormais, à chaque nouvel e-mail reçu dans la boîte de réception, Outlook vérifiera automatiquement tous les e-mails existants.
- Si les anciens e-mails ont le même objet que les nouveaux, Outlook ajoutera automatiquement le suffixe "(Ancien)" à l'objet de l'e-mail.
- Et si les anciens e-mails ont été stockés dans la boîte de réception pendant plus de 2 mois, vous recevrez une invite vous demandant si vous souhaitez les supprimer, comme dans l'image ci-dessous. Vous pouvez sélectionner "Oui" ou "Non" en fonction de vos propres besoins.
Corruption de fichier Outlook en raison d'une grande taille
Certaines personnes n'ont pas l'habitude de supprimer régulièrement les anciens éléments dans Outlook. Par conséquent, leur fichier Outlook peut devenir volumineux, ce qui est fortement déconseillé. En effet, un fichier Outlook trop volumineux est beaucoup plus vulnérable qu'un fichier de petite taille. Une fois le fichier corrompu, l'outil de réparation intégré, Scanpst.exe, sera généralement impuissant. Votre seule solution pourrait être une solution efficace et éprouvée. outil de réparation Outlook PST corrompu, comme DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparer corrompu SQL Server base de données mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


