ToDo完了後に毎回リスト更新、メール送信――VBAでその手順、削減しませんか?:働く価値を上げる“VBA/GAS”術(13)(1/4 ページ)
「この作業が終わったら報告しないと」――しかし、毎回メールで報告するのは面倒くさい作業です。今回は、ToDo完了してリストを変更したら自動でメールが送信される仕組みを紹介します。
Excel VBAとGAS
業務で発生するちょっとした面倒くさい業務。特定の操作を繰り返すだけなので、今のままでもいいけど、楽になったらいいなと思うこともあるのではないでしょうか。例えば業務を自動化すると時間が空くため、他の業務に時間を充てたり、残業時間を減らしたりできるかもしれません。
本連載「働く価値を上げる“VBA/GAS術”」では、業務を効率化する手段として「Microsoft Excel」(マイクロソフトエクセル)で使える「VBA」(Visual Basic for Applications)と「G Suite」の「GAS」(Google Apps Script)の使い方を説明し、よくある業務課題の解決策を紹介します。
Excel VBAでToDo完了メール送信のマクロを作成する
複数人共同で何らかの業務をしていると、あるタスクが完了したことを関係者全員に速やかに通知したいことがあります。多くの場合、以下のような手順で行っているかもしれません。
- 共有フォルダにあるExcel上のToDoリストのステータスを「完了」に変更する
- Outlookで関係者全員宛のメールを作成および送信する
Excel VBAのイベントプロシージャという機能を活用すれば、上記の手順の多くを削減できます。具体的には、1の手順を行ったタイミングで、自動でマクロを動作させてOutlookでのメールの作成から送信までを完了させます。
今回は、ToDoリストを題材に、「Excelのシートの変更をトリガーとして、Outlookでメールの作成および送信を行う」マクロの作り方を解説していきます。なお、以下の記事で紹介した命令は本記事では詳しく紹介しませんので、都度参照してください。
連載「働く価値を上げる“VBA/GAS術”」のVBAに関する記事
ToDoリストを記載するExcelシート
では準備として、Excelファイルのシート上に、テーブルでA列から、No、記入日、タスク、期限、ステータスを記載する以下のようなToDoリストを用意します。
ステータス欄は、データの入力規則を設定し、「未着手」「実行中」「完了」のいずれかをドロップダウンリストから選択します。
このE列のステータス欄が「完了」になった時点で、Outlookを動作させ、自動的に完了報告メールの作成、送信するマクロを作成します。
Outlookライブラリの参照設定
今回Outlookを操作するので、まず準備としてOutlookライブラリの参照設定を行います。この設定をすることで、Outlookの各種オブジェクトやそのメンバーが、自動メンバー表示などに表示されるようになります。
ライブラリ参照設定の手順は第11回で紹介しているので、参考ください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「数百のファイルを1つ1つ開くの面倒……」、複数のExcelデータを1箇所に集約するマクロ術
経費精算書のように「バラバラのデータを1箇所に集約すること」は、多く発生する業務の1つです。しかし、1つ1つのファイルを開きコピー&ペーストするのは手間が掛かる業務。その業務を、マクロを使って自動化する方法を紹介します。「計算式エラーで残業確定……」、GASで入力データのチェックツールを作成
1つのGoogleスプレッドシートを複数人で共同編集するとき、想定していた形式とは違うデータを入力されると、不備が発生してしまう場合があります。そのような問題を、GASで解決するにはどうすればいいのでしょうか。プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とは
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、Googleが提供する数々のアプリケーションを操作できる「Google Apps Script」を紹介する。※ショートカットキーの解説あり