GASを使って簡単に!業務タスクの期限をアラートメールで自動通知

GAS(Google Apps Script)講座

この記事では、GAS(Google Apps Script)を利用して、スプレッドシートに記載されているタスク中から期限が近いタスクをアラートメールで通知する方法をご紹介します。

GASやプログラミングが初めてという方でも理解できるように、各操作をステップごとに説明しています。

スプレッドシートとGAS、Gmailを組み合わせることで、簡単かつ効果的なリマインド機能を構築できます。

業務の進捗や締め切りを見逃さず、タスクを管理したい方には必見の知識となりますので、ぜひ最後までご覧になってください。

\ゲームで学ぶプログラミング/
独学でプログラミングを学んで開発者に!
Unity入門の森オリジナル本格ゲーム制作講座はこちら
本格ゲームの全ソースコード公開・画像&動画による解説付き

リマインドメールの重要性

リマインドメールは様々な状況で重要な役割を果たします。以下はその役割の一例です。

予定や締め切りの確認

リマインドメールは、会議、イベント、締め切りなどの予定を忘れることを防いでくれます。

重要な予定を見逃すことなく、計画を立てたり、タスクをこなすことができます。

タスクの効率化

優先順位を明確にしリマインドすることでタスクの処理順序を明確にできます。

適切な順序でタスクを処理できれば効率的な時間管理が可能となります。

コミュニケーションの補完

ビジネスやプロジェクトのコミュニケーションにおいても、リマインドメールは非常に有益です。

重要な情報やタスクに関するリマインドは、関係者間のコミュニケーションを円滑にし、プロジェクトの進捗を追跡するのに役立ちます。

売上やマーケティング

ビジネスや販売において、リマインドメールは顧客に対するプロモーションやセールのお知らせとして利用されることがあります。

これにより、商品やサービスの認知を高め、売上を促進する効果が期待できます。

リマインドメールは個人やビジネスにおいて計画の立て直しや忘れ物の防止、効率的なコミュニケーションを可能にし、生産性を向上させる重要なツールとなっています。

リマインドメールを適切に利用すればあなたの仕事やプライベートをより快適にすることができるでしょう。

スプレッドシートとGmailを組み合わせて自作アラート機能を作ってみよう!

スプレッドシートは、Googleが提供する表計算ツール。

タスクの管理にスプレッドシートを利用している方も多くいらっしゃるかと思います。

GASを用いることで、Gmailをシームレスに連携させスプレッドシートに記載されているタスクの期限を元に、簡単にリマインドメールの仕組みを構築できます。

この記事で解説する流れはこちらです。

業務タスクの期限をアラートメールで自動通知の流れ
  • STEP1
    タスク管理用スプレッドシートを作成

    まずは、メール情報を転記するスプレッドシートを作成します。

    Googleドライブにアクセスし、新規ボタンをクリックしてスプレッドシートを選択します。

    列名として1行目に「期限」、「ステータス」、「タスク名」、「タスク内容」を入力し、ファイル名を「タスク登録用スプレッドシート」として保存します。

  • STEP2
    リマインドメール送信スクリプトの作成

    次に、Google Apps Script (GAS) を使用してリマインドメール送信スクリプトを作成します。

    スプレッドシートの「拡張機能」メニューから「Apps Script」をクリックし、新しいプロジェクトを作成します。

    プロジェクト名を「SendRemindMail」に変更し、スクリプトファイルにプログラムを記述します。

    プログラムの内容は、スプレッドシートからタスク情報を取得し、期限が近いタスクをGmailで通知する処理を行います。

  • STEP3
    スクリプトの実行と動作確認

    スクリプトが完成したら、Apps Scriptのエディタで保存し、実行ボタンをクリックして動作確認を行います。

    スプレッドシートにサンプルデータを入力し、指定した条件に合致するタスクがリマインドメールとして送信されるかを確認します。

    リマインドメールが正しく送信されれば成功です。

実際にGASでリマインド機能を実装してみよう!

ここからは具体的なスクリプトを作成して、Gmailの本文情報をスプレッドシートに瞬時に整理する方法を説明します。

今回の手順は、以下の通り。

  1. タスク管理用スプレッドシートを作成
  2. リマインドメール送信スクリプトの作成
  3. 動作確認

それぞれ詳細に説明していきます。

タスク管理用スプレッドシートを作成

まずは、メール情報を転記するスプレッドシートを作成します。

Googleドライブにアクセスしましょう。

より詳しい解説はこちら。

【GAS作成用】スプレッドシートの始め方

ウェブブラウザからGoogleドライブhttps://www.google.com/intl/ja_jp/drive/)にアクセス。

「ドライブを開く」を押します。

まずGoogleアカウントでログインしておきましょう。

ドライブを開くと画像のような画面になります。

スプレッドシート新規作成

新規ボタンをクリックしてスプレッドシートを選択します。

 

列名とファイル名を設定

入力しなくてもスクリプトは動きますが見やすいように列名とファイル名を入力しておきましょう。

列名として1行目に以下の情報を入力しておきます。

  • 期限
  • ステータス
  • タスク名
  • タスク内容

こちらはコピー用です。

期限 ステータス タスク名 タスク内容

ファイル名は、「タスク登録用スプレッドシート」としておきましょう。

期限、ステータス、タスク名、タスク内容を入れておきましょう。

リマインドメール送信スクリプト

いよいよGoogle Apps Scriptを記述していきます。

先程作成したGoogleスプレッドシートにて拡張機能-Apps Scriptをクリックします。

Apps Script画面に切り替わります。

まずは、簡単にApps Script画面についてご説明します。

  1. プロジェクト名 クリックすると変更できます。
  2. スクリプトファイル プロジェクトに配置されているスクリプトファイルを確認できます。各項目横の+ボタンを押すことでファイルを新規で作成できます。
  3. ツールバー スクリプト作成時に必要な操作ボタンがまとめられています。保存やデバッグ、実行ログ表示、操作を一つ戻るなど。
  4. エディターエリア スクリプトファイルの編集を行うエリア。こちらにプログラムを記述していきます。

手始めにプロジェクト名を変更してみましょう。

今回は、メール送信スクリプトなので「SendRemindMail」に変更しましょう。

続いてプログラムを記述していきます。

今回作成するプログラムの完成形は以下になります。

仕組みはどうでもいいのですぐに動かしたいという方はこちらをコピー&ペーストして動作確認の項に進んでいただければOKです。

内容も理解したいという方のためにスクリプト作成の手順を説明していきます。

メイン関数を作成

最初に関数を作成します。

関数とは、一つの目的のため複数の処理を一つにまとめて記述したものです。

GASではこの関数を呼び出して処理を実行します。

今回は、SendRemindMailという名前のメイン関数を作成します。

エディタエリアに以下のように記述します。

設定情報を記述

スプレッドシートの情報など設定情報を記述します。

以下のように記述します。

このエリアでポイントとなるのは、日付データの処理です。

日付データは、Date()関数で取得できます。

Date()関数の主な使い方は以下。

応用編として昨日の日付や数カ月後の日付などの取得も可能です。

取得した日付データは、Date型という特殊なデータなのでメールに記載すると文字化けしてしまいます。

そのため、Utilities.formatDate()関数を用いて文字列に変換しています。

sendMailAddressには、リマインドメールを送信したい送信先のメールアドレスを設定してください。

sendMailAddressに設定したメールアドレスに対して送信します。そのため、メールアドレスを間違えないようにしましょう。
https://feynman.co.jp/it-tool-takumi/gmail-api/

スプレッドシートのタスク情報を取得

設定情報の記述ができましたらスプレッドシートから情報を取得する処理を記載します。

スプレッドシートのタスク情報取得処理は、以下のように記述します。

この処理では、スプレッドシートのタスク情報を取得し一タスクずつ情報を取得します。

スプレッドシートの情報取得は、getRange()を利用します。

主な使い方は、以下。

取得した情報は、InputTask変数に格納します。

その後、InputTaskの中身を繰り返し処理を利用して一タスクずつ取得していきます。

繰り返し処理は、for()関数を利用します。

この例では、変数 i が初期値 1 から始まり、5 以下の条件を満たす限り、1 ずつ増加するという基本的な for ループがあります。

各ループの実行時には、コンソールに i の値が表示されます。

メールの送信処理

最後に取得したタスク情報から期限が今日かつステータスが完了していないタスクをGmailで送信します。

以下の内容を「スプレッドシートのタスク情報を取得」の項で記述したfor関数の中括弧の末行に記述しましょう。

if関数は、括弧内の条件式を満たす場合は、中括弧内の処理を行います。

今回は、タスクの期限が今日より過去でステータスが完了となっていないタスクをメールとしてリマインドします。

そのため条件は、以下の様になります。

条件を満たした場合は、タスク内容をメール本文としてGmailApp.sendEmail関数でメールを送信します。

送信した際のメールのタイトルと本文は以下のようになります。

タイトル
【期限アラート】本日期限:<タスク名(C列)の内容を記載>本文
■タスク名:<タスク名(C列)の内容を記載>
■タスク内容:<タスク内容(D列)の内容を記載>
■状況:<ステータス(B列)の内容を記載>
■期限:<期限(A列)の内容を記載>

これでスクリプトの作成は完了です。

保存ボタンをおしてスクリプトを保存しておきましょう。

動作確認

スクリプトが完成したので実際に動かして見ましょう。

タスク登録用スプレッドシートにタスクを記入しておきます。

画像のサンプルデータで2023年11月19日に実施した場合、2行目と3行目のタスクがリマインドされる想定です。

Apps Scriptにてスクリプト実行ボタンをクリック。

リマインドメールが送られれば成功です。

 

「承認が必要です」と出てきたら承認していきましょう。

エラー解消方法はこちら。

うまく動かない!トラブルシューティング集

実装中に発生するトラブルと確認方法も合わせてまとめました。

うまく実装できないという場合に参考にしてください。

メールが送信されない

メールが送信されない場合考えられる原因は、主に以下の3点。

  • メールアドレスが誤っている

設定情報エリアのメールアドレスに誤りがある可能性があります。

再度確認してみましょう。

  • for関数、if関数の条件が誤っている

繰り返し処理で利用しているfor関数や判定処理で利用しているif関数は条件式(括弧の中の記述)が少しでも異なると正常に動作しません。

サンプルコードを確認して不等号や変数名などに誤りがないか確認してみましょう。

  • GmailApp.sendEmail関数の記述に誤りがある

メール送信の処理は、GmailApp.sendEmail関数にて行っています。

引数などに誤りがないか確認してみましょう。

完了しているタスクもリマインドメールが送られる

ステータスが完了となっていてもメールが送られる場合は、if関数の記述に誤りがある可能性があります。

条件式を確認してみましょう。

Googleカレンダーへスケジュール登録する機能も実装してみよう!

タスク登録シートに登録したタスクをGoogleカレンダーにスケジュールしてみましょう。

リマインドとスケジュール登録をあわせることでより業務効率を高めることができるでしょう。

実装方法については、以下の記事を参考にしてみてください。

GAS活用!スプレッドシートのタスク表をGoogleカレンダーにサクッと反映する簡単方法
本記事では、Google Apps Script(GAS)を利用して、スプレッドシート上のタスク表をGoogleカレンダーに自動反映させる方法を解説します。ステップごとにわかりやすく説明し、スケジュール管理を効率化する手順を紹介します。

まとめ

今回は、タスクのリマインドメール通知させる方法としてスプレッドシートとGmailをGASを用いて連携する方法をご紹介しました。

本記事の内容をまとめると以下。

  • リマインドメールを利用することで業務効率向上が可能。
  • GASを利用すればスプレッドシートとGmailを連携させ、業務タスクの期限をアラートメールで自動通知できる。
  • 記事内で提供した手順に従って実装すれば、タスクのリマインドメール送信が可能。
  • 応用編としてスプレッドシートとGoogleカレンダーを連携して自動でスケジュール登録する方法をご紹介。

GASを用いてGoogleサービスを簡単に連携させて業務の効率化が図れます。

本記事を参考にしてあなたのタスク管理を円滑に行えるようにしましょう。

GASとは?何ができるの?初心者向け解説:Google Apps Scriptの基本と活用法
GASってなに?どんなことができるの?という疑問にお答えします!「承認が必要です」と表示された場合の対処法も紹介。

 

 

\ゲームで学ぶプログラミング/
独学でプログラミングを学んで開発者に!
Unity入門の森オリジナル本格ゲーム制作講座はこちら
本格ゲームの全ソースコード公開・画像&動画による解説付き
タイトルとURLをコピーしました