転送の際に自分以外のアドレスを返信先として追加するマクロ


転送の際に元の差出人を返信先として設定するマクロのコメントにて以下のご要望をいただきました。


いろいろ試したのですが、惨敗したので質問させていただきます。
ここで公開されているマクロよりも、もっとシンプルなものが作りたいです。

メールを転送した際に、返信先のアドレスとして自分のアドレスが自動で登録されますが
  あるアドレス(例:hogehoge@example.com) も追加したいです。つまり、2つのアドレスが返信先アドレスとなります。
あるアドレスは固定値ですので、毎回同じ2つのアドレスが返信先に指定されることになります。

アカウント設定で追加できるようですが、会社のPCのためか、設定項目がありませんでした。
よろしくおねがいします。


返信先のアドレスは MailItem オブジェクトの ReplyRecipients プロパティの Add メソッドで追加できます。
既定では ReplyRecipients は空になっていますが、ここに返信先を指定すると差出人には返信されなくなるので、自分のアドレスも Session.CurrentUser.Address より取得して追加する必要があります。
マクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ForwardWithReplyTo()
     ' 返信先に追加するアドレスの指定
     Const ADD_REPLY_TO = "test@example.com"
     Dim orgMail As MailItem
     Dim fwdMail As MailItem
     Dim newRecip As Recipient
     ' 現在表示中のメールを取得
     Set orgMail = ActiveInspector.CurrentItem
     ' 転送メールを作成
     Set fwdMail = orgMail.Forward
     ' 転送メールの返信先に自分のアドレスを追加
     Set newRecip = fwdMail.ReplyRecipients.Add(Session.CurrentUser.Address)
     newRecip.Resolve
     ' 転送メールの返信先にほかのアドレスを追加
     Set newRecip = fwdMail.ReplyRecipients.Add(ADD_REPLY_TO)
     newRecip.Resolve
     ' 転送メールを表示
     fwdMail.Display
End Sub

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

コメントを残す

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

WordPress.com ロゴ

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

Google フォト

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

Twitter 画像

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

Facebook の写真

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

%s と連携中