任意のアカウントで返信するマクロ


Outlook で複数のメール アカウントが登録されている場合、受信したメッセージに返信する場合はそのメッセージを受信したアカウントが使われます。
しかし、状況によっては常に特定のアカウントで返したいという場合もあるでしょう。
返信メッセージでアカウントを選択しなおせばよいのですが、一手間あるため忘れてしまうということもあります。
そこで、特定のアカウントで常に返信するためのマクロを作ってみました。下記のサンプルの replyserver を返信する際に使うアカウントの名前に変更して使用してください。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ReplyByAlterAccount()
    Const REPLY_ACCOUNT = "replyserver"
    Dim objReply As MailItem
    Dim objInsp As Inspector
    Dim cbStd As CommandBar
    Dim cbpAccts As CommandBarPopup
    Dim cbbAcct As CommandBarControl
'
    Set objReply = ActiveInspector.CurrentItem.ReplyAll
    ' メッセージ一覧で選択されたアイテムに返信する場合は、下記を使用
    ' Set objReply = ActiveExplorer.Selection(1).ReplyAll
'
    objReply.Display
    DoEvents
    ' [標準] のツールバーを取得
    Set cbStd = ActiveInspector.CommandBars("Standard")
    ' [アカウント] のポップアップ コントロールを取得
    Set cbpAccts = cbStd.FindControl(ID:=31224)
    ' [アカウント] のリストを検索
    For Each cbbAcct In cbpAccts.Controls
        ' 返信用のアカウント名が見つかった
        If InStr(cbbAcct.Caption, REPLY_ACCOUNT) > 0 Then
            ' 見つかったアカウントを選択
            cbbAcct.Execute
        End If
    Next
End Sub

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

広告

任意のアカウントで返信するマクロ」への15件のフィードバック

  1. お忙しいところ失礼します。
    マクロ初心者です。
    意図通りのマクロを発見し、喜んでいます。
     
    が、
    「登録方法」のページも読んで、登録しようとしているのですがうまくいきません。
    どうしたらよいのか、ご教授ください。
     
    [Project1 – ThisOutlookSession (コード)] にペイストするだけでは、使えないのでしょうか。
    一覧に何も表示されないのです。
     
    よろしくお願いします。

  2. To 河西さん
    すみません。Public とすべきところを Private としていました。
    上記のマクロは修正済みですので、改めて上記のマクロをコピーしてご使用ください。

  3. ごめんなさい。名無しになってしまいました。
    改めまして、ありがとうございました。
     
    早速、ペーストし、アカウント名に書き換え、実行してみました。
    しかし、今度は
    「オブジェクト変数または With ブロック変数が設定されていません。」
    というエラーが出てしまいました。
     
    すみませんが、教えてください。

  4. To 河西さん
    マクロの実行の際に返信するメッセージは開いた状態でしょうか?
    たとえば、プレビューだけしているような状態ではこのマクロは動作しません。
    メッセージを開いてから実行する必要があります。

  5. そうなのですね。
    メッセージ開いて実行したら、うまくいきました。
    ありがとうございます。
     
    プレビューを使用してメッセイー時内容を確認していて、
    返信が必要なときは「返信」ボタンから返信をする、という使い方をしています。
    そんな使い方の場合は、手間が増えることになる、と理解しましたが、よかったでしょうか。
     
    プレビューせずに、各メールをクリックして確認することでもよいのですが、
    返信するごとにマクロを実行する必要があるのですよね。
    (この理解も正しいでしょうか?)
     
    忘れないかわりに、手間が4つに増えてしまう、と感じました。
    「返信」ボタンを押せば、任意のアドレス経由で返信できるようには行かないものなのですね。
     
     

  6. プレビューしているメッセージに返信したい場合は、
    Set objReply = ActiveInspector.CurrentItem.ReplyAll
    という行を
    Set objReply = ActiveExplorer.Selection(1).ReplyAll
    に置き換えてください。そして、返信ボタンの代わりにマクロを実行してください。

  7. いろいろありがとうございます。
    自分で工夫もせず、いろいろ好き勝手を申しまして。気分悪くされていたら誤ります。失礼しました。
     
    行を置き換えて、ツールバーにマクロボタンを入れて、使い始めています。
    (マクロ中に書かれておりましたね。何のことやらわかりませんでした。失礼しました。)
    こうして、手間は同じになりました。
     
    ★もうひとつよろしいでしょうか?
    このマクロは「全員に返信」なんですね。
    「返信」(発信者にのみ返信)のマクロは可能ですか?
     
    Set objReply = ActiveExplorer.Selection(1).ReplyAll
    の ReplyAll を Reply にすればよいですか?
     
    よろしくお願いします。

  8. たびたびすみません。
    下記ですが、
    「返信」(ReplyAll → Reply)
    「転送」(ReplyAll → Forward)
    として、うまくいきました。
     
    ご報告まで。ありがとうございました。

  9. 初めまして。大分前の記事ですが、便乗して質問させてください。今回のプログラムでアカウントを選択する事は出来ると思うのですが、そのアカウントの詳細情報を取得したり変更したりという事は出来ないでしょうか。具体的にはアカウント情報の中の名前、電子メールの情報を変更したいです。また、今回のプログラムでは、あるメールをオープン中、もしくは、プレビュー中に実施するマクロとなっておりますが、出来れば、いつでもアカウントの情報を変更できるようなマクロが出来たらもっとありがたいです。不躾な質問で申し訳ありませんが宜しくお願いします。

  10. To ヒジリさんOutlook 2007 なら Application.Session.Accounts コレクションからアカウントの情報を取得することはできます。ただし、変更はできません。アカウントの情報を変更したい理由は何でしょうか?

  11. 度々失礼します。質問しておきながら忙しくて返信が遅くなってしまい申し訳ありません。アカウント情報を変更したい理由ですが、会社用のアカウントがあり、それとは別に実体の無い、転送用のメールアドレスを持っており、後者を会社と自宅の両方用のアドレスとして使用しております。それで、後者のアドレスから送信したい場合は、実体が無いため、Outlookのツール⇒電子メールアカウントで、手動で名前、電子メールの部分を会社用のアカウントから転送用のアドレスに修正したりして使っていたのですが、よく元に戻し忘れたり、また、変更するのに上記操作では煩わしいので、マクロなどで操作を簡易化できないかと思っていました。変更できないものでしょうか…。

  12. To ヒジリさん単に送信用のアドレスに実体のない転送用のメールアドレスを使いたいということなら、それ用にもう一つメールアカウントを作ってはどうでしょうか? このとき、POP サーバーや SMTP サーバーの設定は通常使うものにし、送信のアドレスだけを転送用のアドレスとします。そして、そのアカウントでは受信動作を行わないようにするため、送受信の設定からそのアカウントを外してしまうのです。(念のため POP サーバーのパスワードをわざと異なるものにしておいてもよいでしょう。)そうすれば、転送アドレス用に作ったメールアカウントを送信時に指定することで、転送アドレスが差出人となるメールが送信できます。

  13. To Millefeuil​leさんご丁寧に回答していただきありがとうございます。アカウントを別に作って、送受信の設定で、受信の方に作ったアカウントを含めなければ良かったんですね。教えていただいた方法でやりたい事は解決しました。大変有用な情報をいただきありがとうございました。m(_ _)m

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中