連載
» 2018年10月02日 05時00分 公開

働く価値を上げる“VBA/GAS”術(11):日報メールを半自動化!?――ExcelとVBAで作成するメール作成マクロとは (1/3)

時間のかかる業務の代表「メール作成」。中には、定期的かつ毎回同じようなフォーマットで作成、送信するメールもあるのではないでしょうか。今回は、日報を例に、Excelに記入したことを基にメールを作成するVBAを紹介します。

[高橋宣成,プランノーツ]

Excel VBAとGAS

 業務で発生するちょっとした面倒くさい業務。特定の操作を繰り返すだけなので、今のままでもいいけど、楽になったらいいなと思うこともあるのではないでしょうか。例えば業務を自動化すると時間が空くため、他の業務に時間を充てたり、残業時間を減らしたりできるかもしれません。

 本連載「働く価値を上げる“VBA/GAS術”」では、業務を効率化する手段として「Microsoft Excel」(マイクロソフトエクセル)で使える「VBA」(Visual Basic for Applications)と「G Suite」の「GAS」(Google Apps Script)の使い方を説明し、よくある業務課題の解決策を紹介します。


Excel VBAで日報メールの自動作成マクロを作成する

 仕事の中で、書類作成業務とともに時間がかかる業務の代表が「メール」ではないでしょうか。多くの人は、仕事で社内や取引先と毎日たくさんのメールをやりとりしています。

 その中には、定期的かつ毎回同じようなフォーマットで作成、送信するメールもあるのではないでしょうか。例えば、日報や定期的に発生する依頼、期限をお知らせするリマインドなどが挙げられます。

 そのようなメールの作成も、大体の内容や手順が決まっていれば、マクロ化できます。定期的に発生するメール作成は、1回当たりが小さな時短でも、日々積み重なると大きな差を生み出します。

 今回は、日報メールを題材にして、「Excelに記載した内容を基にMicrosoft Outlook(以下、Outlook)でメールの下書きを作成する」マクロの作り方を解説します。なお、以下の記事で紹介した命令については本記事では詳しく紹介しませんので、都度参照してください。

日報メールの元データとなるExcelシート

 では準備として、Excelファイルに日報メールの元データを2つのシートに用意します。

 まず、1つ目が「フォーマット」シートです。このシートには、日報メールを作成する際に必要な、「送信先アドレス」「件名」「宛名」「本文の書き出し」「締めの文章」などを記載します。

図1 フォーマットシート

 なお、B3セルの件名欄は、現在の日付が挿入されるように、以下のExcel関数を入力しています。

="日報 [" & B1 & "] : " & TEXT(TODAY(), "yyyy/mm/dd(ddd)")

 2つ目のシートは「レポート」シートです。日報には、時間帯別の活動内容を記載することがあるので、それらの情報をこのシートに表形式で記載します。

図2 レポートシート

 日報は、日々変わるので、メール作成のマクロを動作させる前に、当日の活動内容に更新します。

Outlookライブラリの参照設定

 もう一つの準備として、Outlookライブラリの参照設定を行います。これを設定することで、Outlook関連の各種オブジェクトやメンバーが、自動メンバー表示などに表示されるようになります。

 ライブラリの参照設定を行うには、まずVBEのメニューの「ツール」から「参照設定」を選択します。

図3 VBEのツールメニューから参照設定を選択

 次に、たくさんのライブラリが列挙されている「参照設定」ダイアログの中から「Microsoft Outlook 16.0 Object Library」にチェックを入れて、「OK」をクリックします。

図4 参照設定ダイアログでOutlookライブラリを参照設定する

 これで、Outlookライブラリの参照設定は完了です。下記のようにOutlookライブラリの構成要素に、自動メンバー表示からアクセス可能です。

図5 自動メンバー表示でOutlookライブラリの構成要素にアクセス

 これで事前準備は完了です。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。