差出人名と署名を置き換えて送信するマクロ


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


いつも、参考にさせていただいています。
今回はOUTLOOK2010で、アカウント1つで、「送信ボタンを押したときに、選択して、二つの差出人名(アカウントは1つ)と
署名を切り替えたい」です。
①差出人名だけを切り替えるにはどのような機能を使用すればよいのでしょうか?
②差出人名を切り替えたとき、それに合う署名に切り替えるためにはどのような機能を使えばよいでしょうか?

アドバイスお待ちしています。


まず、差出人の名前だけ変更するには、MailItem の SentOnBehalfOfName プロパティに変更後の表示名とメールアドレスを設定します。
また、署名を切り替えるには、Inspector の WordEditor プロパティからメール作成に使用している Word コンポーネントの機能を呼び出し、本文中に含まれる _MailAutoSig という名前の Bookmark オブジェクトの文字列を別の署名の文字列に置き換えます。

送信ボタンを押した際に選択するとあるのですが、別名で送信するマクロを作成し、そのマクロを実行するボタンを配置する方が送信時の手間が少なくなるでしょう。
表示名と署名を置き換えて送信するマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub SendUsingAnotherName()
    ' 別名送信の際の表示名を指定します。
    Const ANOTHER_NAME = "Another Name"
    ' 別名送信の際の署名の文字列を指定します。
    Const ANOTHER_SIGNATURE = "---" & vbCrLf & "Another Name"
    Dim objMail As MailItem
    Dim objWord 'As Word.Document
    Dim objSignature 'As Word.Bookmark
    '
    Set objMail = ActiveInspector.CurrentItem
    ' 差出人名の置き換え
    objMail.SentOnBehalfOfName = ANOTHER_NAME & _
        "<" & Session.CurrentUser.Address & ">"
    ' 署名の置き換え
    Set objWord = ActiveInspector.WordEditor
    Set objSignature = objWord.Bookmarks("_MailAutoSig")
    objSignature.Range.Text = ANOTHER_SIGNATURE
    objMail.Send
End Sub

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

広告

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中