メーリングリストのメールの差出人に返信するマクロ


コメントで以下のようなご要望をいただきました。


あるMLに返信したいのですが、そのMLの設定でReply-ToがMLのアドレスになっています。
outlookでは自動的にReply-Toに返してしまうようですが、Fromアドレスに返信するようには
できませんでしょうか?
遅くなりましたが、outlook2010です。

元メールから差出人のアドレスをコピーして貼り付ければ済む話なのですが…



Outlook では、以下の順序で返信の宛先が決まります。
1. Reply-To
2. Sender
3. From

Reply-To や Sender は MailItem の通常のプロパティとして取得可能なのですが、From についてはメーリングリストからのメールなどの場合には通常のプロパティで取得できないことがあります。
そんな時でも PropertyAccessor で From の情報を保持する MAPI プロパティを取得することが可能です。

以下は、ご要望の動作を行うマクロです。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ReplyToOriginalSender()
    Const PR_SENT_REPRESENTING_EMAIL_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x0065001e"
    Const PR_SENT_REPRESENTING_NAME = "http://schemas.microsoft.com/mapi/proptag/0x0042001e"
    Dim strFromAddress As String
    Dim strFromName As String
    Dim objMail As MailItem
    Dim objReply As MailItem
    ' アクティブ ウィンドウがメッセージなら開いているメッセージに返信
    If TypeName(Application.ActiveWindow) = "Inspector" Then
        Set objMail = ActiveInspector.CurrentItem
    Else  ' アクティブ ウィンドウがメッセージ一覧なら選択しているメッセージに返信
        Set objMail = ActiveExplorer.Selection(1)
    End If
    ' 全員に返信すると結局メーリングリストに送信されることになるので、送信者だけに返信
    Set objReply = objMail.Reply
    ' From のアドレスと表示名を取得
    strFromAddress = objMail.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_EMAIL_ADDRESS)
    strFromName = objMail.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_NAME)
    ' もともとの返信先アドレスを削除
    objReply.Recipients.Remove 1
    ' 宛先に From を追加
    If strFromName <> strFromAddress Then
        objReply.Recipients.Add strFromName & " <" & strFromAddress & ">"
    Else
        objReply.Recipients.Add strFromAddress
    End If
    ' 返信メッセージを表示
    objReply.Display
End Sub

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

メーリングリストのメールの差出人に返信するマクロ」への4件のフィードバック

    • すみません、昨日2010で動かなかったと書いたものです。再起動させたら動きました。失礼しました。

  1. いつも参考にさせて頂いております。このマクロoutlook2010では動作していたのですが、outlook2013になると、送信者以外の他の宛先が新規メールに入らないようです。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中