メーリングリスト経由で送信されたメールの実際の送信者で振り分けを行う検索フォルダーを作成するマクロ


コメントにて以下のご要望をいただきました。


OUTLOOK2010を使用しています。 検索フォルダ―機能を使用して、差出人毎に自動的にフォルダー分けを行っているのですが、
差出人がメーリングリストを使用して送信した場合に、振り分けたフォルダーから漏れてしまい 困っています。

なお、使用しているメーリングリストで送信されたメールを受信したメールを表示すると、送信者の情報の所に、
『XXXX@ドメイン が次の人の代理で送信しました: 送信者メールアドレス@ドメイン』のように表示されます。

また、メールヘッダを確認したところ、以下のようになっていました。
From :送信者メールアドレス@ドメイン
Sender:XXXX@ドメイン

この情報から推測すると、検索フォルダー機能は、fromではなくSenderを検索しているようです。

このようなメーリングリストのメールを検索フォルダー機能で正しく振り分ける方法は無いでしょうか?



Outlook の通常の検索フォルダーの条件で差出人を指定した場合、ご指摘の通りヘッダーの From ではなく Sender が検索対象となります。
通常の方法で From を検索対象とする検索フォルダーは作成できないのですが、マクロで作成することができます。
具体的には AdvancedSearch メソッドで高度な検索でも指定できないプロパティの検索条件を指定し、生成された Search オブジェクトの Save メソッドにより検索フォルダーとして保存します。
マクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public bSearchInProgress As Boolean
'
Private Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)
    bSearchInProgress = False
End Sub
'
Public Sub CreateSearchFolderForFrom()
    Dim strFrom As String
    Dim strFilter As String
    Dim objSrch As Search
    strFrom = InputBox("差出人アドレス:")
    strFilter = "http://schemas.microsoft.com/mapi/proptag/0x0065001E like '%" & strFrom & "%'"
    Set objSrch = Application.AdvancedSearch("Inbox", strFilter, True)
    bSearchInProgress = True
    While bSearchInProgress
        DoEvents
    Wend
    objSrch.Save strFrom
End Sub

マクロの登録方法やメニューへの追加について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中