アカウントを2つ設定している為(自分用と自分が入っているグループ
アカウント)、一通のメールをそれぞれで受信するので
同じ内容のメールが2つになってしまいます。
「件名・本文・差出人・受信日時などが同じ場合はアカウントA(個人用)の方を削除する」
などVBAでできますでしょうか?
メール管理で苦労しているので、教えていただくと大変助かります。
宜しくお願い致します。
ちなみにMicrosoft Outlook(Outlook Expressではない)です。
確認ですが、グループ宛と個人宛のメールは区別がつくのでしょうか。
同じメールが二つあった場合、一つをゴミ箱に移動するという処理のマクロです。
すべてを受信トレイで受信しているという前提です。
ThisOutlookSession の下に張り付けて試してみてください。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim ns As NameSpace Dim mf As MAPIFolder Dim gf As MAPIFolder Set ns = GetNamespace("MAPI") Set mf = ns.Folders("個人用フォルダ").Folders("受信トレイ") Set gf = ns.Folders("個人用フォルダ").Folders("削除済みアイテム") Dim mai As MailItem Dim mis As Variant Dim mi As Variant Dim omi As MailItem mis = Split(EntryIDCollection, ",") For Each mi In mis Set mai = Application.Session.GetItemFromID(mi) For Each omi In mf.Items If mai.EntryID <> omi.EntryID Then If compMail(mai, omi) = True Then mai.Move gf End If End If Next Next End Sub '-------------------------------------------------------- Function compMail(mi1 As MailItem, mi2 As MailItem) As Boolean '-------------------------------------------------------- compMail = False Dim omi As MailItem If mi1.Subject <> mi2.Subject Then Exit Function If mi1.CreationTime <> mi2.CreationTime Then Exit Function If mi1.SenderEmailAddress <> mi2.SenderEmailAddress Then Exit Function If mi1.Body <> mi2.Body Then Exit Function compMail = True End Function |<<
確認ですが、グループ宛と個人宛のメールは区別がつくのでしょうか。
同じメールが二つあった場合、一つをゴミ箱に移動するという処理のマクロです。
すべてを受信トレイで受信しているという前提です。
ThisOutlookSession の下に張り付けて試してみてください。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim ns As NameSpace Dim mf As MAPIFolder Dim gf As MAPIFolder Set ns = GetNamespace("MAPI") Set mf = ns.Folders("個人用フォルダ").Folders("受信トレイ") Set gf = ns.Folders("個人用フォルダ").Folders("削除済みアイテム") Dim mai As MailItem Dim mis As Variant Dim mi As Variant Dim omi As MailItem mis = Split(EntryIDCollection, ",") For Each mi In mis Set mai = Application.Session.GetItemFromID(mi) For Each omi In mf.Items If mai.EntryID <> omi.EntryID Then If compMail(mai, omi) = True Then mai.Move gf End If End If Next Next End Sub '-------------------------------------------------------- Function compMail(mi1 As MailItem, mi2 As MailItem) As Boolean '-------------------------------------------------------- compMail = False Dim omi As MailItem If mi1.Subject <> mi2.Subject Then Exit Function If mi1.CreationTime <> mi2.CreationTime Then Exit Function If mi1.SenderEmailAddress <> mi2.SenderEmailAddress Then Exit Function If mi1.Body <> mi2.Body Then Exit Function compMail = True End Function |<<
Mookさん、いつもありがとうございますっ
グループ宛と個人宛の区別はつき、すべて受信トレイ内にあります。
ご回答いただいた内容を会社で確認してみます!
感謝です!
Mookさん、いつもありがとうございますっ
グループ宛と個人宛の区別はつき、すべて受信トレイ内にあります。
ご回答いただいた内容を会社で確認してみます!
感謝です!