皆さんプライベート以外での普段メールって、何を使ってやり取りしていますか?
会社なんかでは、Microsoft Officeが入っているので、そのままOutlookを使ってるなんて方も多いんじゃないでしょうか?
僕も会社では、Outlookが指定されているのですが、今回はOutlookでの作業を多少楽にする為に作ったマクロについて書いていきたいと思います。
マクロって何?
マクロって何?はこちらの記事をご参照ください。
環境
- Outlook 2010
恐らく2010以外でも使えるかと思います。
が、検証した分けではないので、何かあった際は自己責任でお願い致します(そんな危険なものを作ったつもりもないですが)。
導入方法
導入方法はこちらの記事をご参照ください。
使い方(ボタンの設置)
クイックアクセスツールバーの右にある▼を押し、「その他コマンド…」を選択します。
クイックアクセスツールバーは、タイトルバー左側に表示されたボタンの所です。
ココに色々とショートカットボタンが置けます。
クイックアクセスツールバーの設定画面が出てきます。
ここで「コマンド選択」から「マクロ」を選択します。
そうすると、作成したマクロ名の一覧が出てきます。
ここで任意のマクロを選択し、追加ボタンを押すと、クイックアクセスツールバーにそのマクロを実行するボタンが追加できます!
あとはボタンの名称や、変更ボタンからアイコンの変更を行うことができます。
クイックアクセスツールバーのカスタマイズが終わったら、OKボタンで確定すれば完了です。
マクロ集
作成したマクロ達です。
簡単なものばかりですが、ご参考までに…
返信メール
メールの閲覧画面で選択しているメールに対して、返信用メールの作成画面を開きます。
通常の返信ボタンとの違いはこちらです。
- 定型文をセット(お疲れ様です~)
- BCCに自分のアドレスをセット
今はBCCだけですが、必ず固定でCCやBCCに誰かのアドレスを入れる決まりがある場合、同様に追加すれば返信時に必ずそのアドレスが入るようにカスタムできます。
「単体宛」、「上司を含む」、「グループ全員を含む」みたいに複数作って、ボタンで設置しておいても楽かもしれませんね。僕は需要が無いのでやってませんが。
' ' Global ' ★ソースの先頭に記述してください。 ' ★他のソースで既に書いている場合、無視してOKです。 ' Const BLANK_MSG_TXT = "" & _ vbNewLine & _ vbNewLine & _ "お疲れ様です。" & _ vbNewLine & _ "xxxです。" & vbNewLine & vbNewLine & vbNewLine & _ "以上、宜しくお願い致します。" & vbNewLine & vbNewLine '---------------------------------------- ' ' 返信メール ' Public Sub Reply() ' メールアイテム Dim msg As MailItem ' メールをどのように開いているか確認 ------------------ If TypeName(Application.ActiveWindow) = "Inspector" Then ' メールを別ウィンドウとして開いている場合 Set objItem = ActiveInspector.CurrentItem Else ' メールを閲覧ウィンドウで開いている場合 Set objItem = ActiveExplorer.Selection(1) End If ' 選択しているメールアイテムの返信メールを取得 --------- Set msg = objItem.Reply ' メールのカスタマイズ --------------------------------- ' BCCに自身のメール挿入 msg.BCC = "my_address@jp" ' 本文の挿入 msg.Body = BLANK_MSG_TXT & Right(msg.Body, Len(msg.Body) - 4) ' 作成返信メールの表示 --------------------------------- msg.Display End Sub
全員に返信
メールの閲覧画面で選択しているメールに対して、全員に返信する為のメールの作成画面を開きます。
通常の全員へ返信との違いはこちらです。
- 定型文をセット(お疲れ様です~)
- BCCに自分のアドレスをセット
まぁ要するに「返信メール」マクロの全員版です。
' ' Global ' ★ソースの先頭に記述してください。 ' ★他のソースで既に書いている場合、無視してOKです。 ' Const BLANK_MSG_TXT = "" & _ vbNewLine & _ vbNewLine & _ "お疲れ様です。" & _ vbNewLine & _ "xxxです。" & vbNewLine & vbNewLine & vbNewLine & _ "以上、宜しくお願い致します。" & vbNewLine & vbNewLine '---------------------------------------- ' ' 全返信メール ' Public Sub AllReply() ' メールアイテム Dim msg As MailItem ' メールをどのように開いているか確認 ------------------ If TypeName(Application.ActiveWindow) = "Inspector" Then ' メールを別ウィンドウとして開いている場合 Set objItem = ActiveInspector.CurrentItem Else ' メールを閲覧ウィンドウで開いている場合 Set objItem = ActiveExplorer.Selection(1) End If ' 選択しているメールアイテムの返信メールを取得 --------- Set msg = objItem.ReplyAll ' メールのカスタマイズ --------------------------------- ' BCCに自身のメール挿入 msg.BCC = "my_address@jp" ' 本文の挿入 msg.Body = BLANK_MSG_TXT & Right(msg.Body, Len(msg.Body) - 4) ' 作成返信メールの表示 --------------------------------- msg.Display End Sub
あとがき
正直大したマクロではないのですが、これだけで結構メール作成が楽になります。
毎回定型文書いたり、コピペしたりって面倒じゃないですか。
2手で終わる作業を、1手にしたいと思うような面倒くさがりなのです…
でも1日に何回も行う作業が、2手から1手、もしくはそれ以上に削減されたら、作業時間が単純に半分やそれ以下になる訳ですから。
気になった方は、マクロやプログラミングに足を踏み入れてみませんか?