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

働く価値を上げる“VBA/GAS”術(12):一から作ると面倒な日報メール――GASで実現する半自動化術とは (1/3)

毎日のように同じようなフォーマットで、一からメールを作成するのは、面倒くさい作業です。今回は、スプレッドシートとGASを活用した日報メールの作成術を紹介します。

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

Excel VBAとGAS

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

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


GASで日報メールの自動作成および送信ツールを作る

 第11回では、Excel VBAでMicrosoft Outlook(以下、Outlook)を操作して、Excelシートの内容を基に、日報メールの下書きを自動で作成するマクロの作り方を紹介しました。

 今回は、そのGAS版です。GASはGmailを操作できるので、スプレッドシートと連携させて、下書きメールを作成するスクリプトを作成します。

 なお、これまで連載で紹介したステートメントは詳しく紹介しませんので、以下の記事を参照ください。

日報メールの元データとなるスプレッドシート

 まず、日報メールで必要となる情報を入力するスプレッドシートを用意します。

 1つ目のシートが「フォーマット」シートです。メールの下書きを作成する際に使用する、送信先アドレス、件名、宛名、本文の書き出しや締めの文章を記載します。

図1 フォーマットシート

 B3セルの「件名」およびB4セルの「書き出し」欄には、送信者の名前や現在の日付が挿入されるように、以下のスプレッドシート関数が入っています。

="日報 [" & B1 & "] : " & TEXT(TODAY(), "yyyy/mm/dd(ddd)")
B3セル
=TEXT(TODAY(), "yyyy/mm/dd(ddd)") & "分、" & B1 & "の日報をお送りします。"
B4セル

 もう一つのシートが「レポート」シートです。

図2 レポートシート

 日報の本文に、時間帯別の予定やその内容を記載すること想定して、それらの情報はレポートシートに表形式で入力します。

 予定が完了した際に、都度このシートにその内容を書き込んでいきます。そして、日報の提出期限に間に合うように、時限式トリガーを自動実行させるような運用をイメージしています。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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