新しい受信メールと同じ件名の古いメールの名前を自動的に変更または削除する方法

今すぐ共有:

一部の人々は、新しい電子メールが到着したときにOutlookが古い電子メールの件名を自動チェックし、新しい電子メールと同じ件名の古い電子メールの名前を変更または削除できることを望んでいます。 これには、OutlookVBAを使用する必要があります。 この記事はあなたがそれを達成するのに役立ちます。

同じ件名のメールをたくさん受け取ったことがあるはずです。 メーリングリストでそれらを識別して区別するのは少し面倒ですか? それとも、それらの古い電子メールはあなたにとってまったく役に立たないと思いますか? その場合は、新しい電子メールが到着したときにOutlookが既存のすべての電子メールを自動的にスキャンして確認できるようにする必要があります。 新しいメールと同じ件名のメールがある場合、Outlookはそれらの名前を変更するか削除するかを尋ねてきます。 間違いなく、Outlookはこの種の機能をユーザーに提供していません。 したがって、VBAに頼る必要があります。 ここでは、詳細なコードと操作を公開します。

古いメールの名前の自動変更または削除

  1. 最初に、あなたはすることができますtart Outlookを使用して、[開発者]タブに移動します。
  2. 次に、「VisualBasic」ボタンを見つけてクリックできるようになります。
  3. それを押すと、VBAエディタウィンドウにアクセスします。 その中で、「ThisOutlookSession」プロジェクトを開く必要があります。
  4. 次に、次のVBAコードをコピーして貼り付ける必要があります。
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

VBAコード-新しい受信メールと同じ件名の古いメールの名前を自動的に変更または削除する

  1. その後、このコードにデジタル署名する必要があります。 「ツール」>「デジタル署名」を押します。 次に、ポップアップダイアログボックスで、既存の証明書をXNUMXつ選択できます。 既製の証明書がない場合は、「VBAプロジェクトのデジタル証明書」を使用して新しい証明書を作成できます。ThisOutlookSessionプロジェクトに署名する
  2. その後、現在のウィンドウを終了してマクロ設定の変更に進み、デジタル署名されたマクロのみを許可することができます。
  3. 最終的に、あなたは解像度を得ることができますtartOutlookで新しいマクロをアクティブにします。 今後、新しいメールが受信トレイに届くと、Outlookは既存のすべてのメールを自動的にチェックします。
  • 古い電子メールの件名が新しいものと同じである場合、Outlookは電子メールの件名に「(古い)」サフィックスを自動的に追加します。
  • また、古いメールが2か月以上受信トレイに保存されている場合は、下の図のように、削除するかどうかを尋ねるプロンプトが表示されます。 必要に応じて「はい」または「いいえ」を選択できます。古いメールを削除するかどうかを尋ねるプロンプト

 サイズが大きいためにOutlookファイルが破損する

Outlookで古いアイテムを定期的に削除する習慣がない人もいます。 したがって、Outlookファイルは大きなサイズになりますが、これは正確にはお勧めできません。 これは、サイズの大きいOutlookファイルは、サイズの小さいファイルよりもはるかに脆弱であるためです。 ファイルが破損すると、組み込みの修復ツールであるScanpst.exeはmで無力になりますost ケース。 あなたのユニークなリゾートは注目に値する、そして十分に証明されているかもしれません 破損したOutlookPST修復ツール、のような DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損した修復 SQL Server mdfデータベース と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。