連載
» 2019年01月07日 05時00分 公開

働く価値を上げる“VBA/GAS”術(13):ToDo完了後に毎回リスト更新、メール送信――VBAでその手順、削減しませんか? (1/4)

「この作業が終わったら報告しないと」――しかし、毎回メールで報告するのは面倒くさい作業です。今回は、ToDo完了してリストを変更したら自動でメールが送信される仕組みを紹介します。

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

Excel VBAとGAS

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

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


Excel VBAでToDo完了メール送信のマクロを作成する

 複数人共同で何らかの業務をしていると、あるタスクが完了したことを関係者全員に速やかに通知したいことがあります。多くの場合、以下のような手順で行っているかもしれません。

  1. 共有フォルダにあるExcel上のToDoリストのステータスを「完了」に変更する
  2. Outlookで関係者全員宛のメールを作成および送信する

 Excel VBAのイベントプロシージャという機能を活用すれば、上記の手順の多くを削減できます。具体的には、1の手順を行ったタイミングで、自動でマクロを動作させてOutlookでのメールの作成から送信までを完了させます。

 今回は、ToDoリストを題材に、「Excelのシートの変更をトリガーとして、Outlookでメールの作成および送信を行う」マクロの作り方を解説していきます。なお、以下の記事で紹介した命令は本記事では詳しく紹介しませんので、都度参照してください。

ToDoリストを記載するExcelシート

 では準備として、Excelファイルのシート上に、テーブルでA列から、No、記入日、タスク、期限、ステータスを記載する以下のようなToDoリストを用意します。

図1 ToDoシート

 ステータス欄は、データの入力規則を設定し、「未着手」「実行中」「完了」のいずれかをドロップダウンリストから選択します。

図2 ステータス欄のドロップダウンリスト

 このE列のステータス欄が「完了」になった時点で、Outlookを動作させ、自動的に完了報告メールの作成、送信するマクロを作成します。

Outlookライブラリの参照設定

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

 ライブラリ参照設定の手順は第11回で紹介しているので、参考ください。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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