2022/03/03に更新

【GASで品質向上】特定のセルが編集されたときにメールで通知する

スプレッドシートメール

特定のセルが編集されたときにメールを送信するGoogle Apps Scriptです。大事な部分が更新された時にすぐに知りたいときに使えるかもしれません。

こんな悩みを解決します


  • とっても大事なセルがある・・・けど保護してしまうとみんなが編集できない・・・せめて編集されたらすぐに知りたい・・・

用意するもの


特にありません。今お使いのスプレッドシートに組み込めます。

このスクリプトで出来ること


特定のセルの値が変わったときに、メールで通知することが出来ます。
メール本文にはセルのアドレスや、変更前後の値も含まれます。

使い方


1.準備

スクリプトを配置(上部ナビゲーションバーの「GASの設置方法」を参照してください)したあとに、トリガーの設定が必要です。
以下の内容でトリガーを登録してください

  • 実行する関数: onEdit
  • デプロイ時に実行: HEAD
  • イベントのソース: スプレッドシートから
  • イベントの種類を選択: 編集時

2.スクリプトを動作させます

A1セルを監視対象にしているので、セルをの値を書き換えてみます。

3.メールの確認

更新通知メールが飛んできているはずなので確認します。

4.注意点

頻繁に更新されるセルの場合、Google Apps Scriptの各種制限(1日あたりのメール送信数)に引っかかる可能性があります。
無償、有償で上限が変わってきますので、詳しくは公式サイトでご確認ください。
https://developers.google.com/apps-script/guides/services/quotas

スクリプト



/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00053/index.html
 */

function onEdit(e) {
  // セルの値が変わったときに実行される関数

  // 値が変わったときに警告を出したいセルを定義する
  // 原則として1つのセルが変更された場合を想定しています。
  // 範囲選択->消去 などに対応させる場合は範囲を定義しておけばアラートを出せますが、ユーザが定義と完全に一致する範囲を選択してくれないと反応しません。
  // 例:定義にA1:C1と書いたら、ユーザがA1からC1を選択&編集したときのみアラートが出ます。B1が編集された場合はアラートを出せません。
  const inspection_cell = ['A1', 'C1', 'A1:C1'];

  // 編集されたセルのアドレスを取得
  const changed_cell = e.range.getA1Notation();

  // メール送信情報の定義
  const mail_to = '送信先メールアドレスを入力してください';
  const mail_subject = '大事なセルの更新通知';
  const mail_body = [];
  mail_body.push('セルが更新されました。')
  mail_body.push('セル番地: ' + changed_cell);
  mail_body.push('変更前の値: ' + e.oldValue);
  mail_body.push('変更後の値: ' + e.value);

  // 編集されたセルが、チェック対象に含まれるかどうかを調べる
  for (var i = 0; i < inspection_cell.length; i++) {

    // 変更されたセルが、チェック対象のセルと同じであればメールを送信する
    if (changed_cell == inspection_cell[i]) {

      // メールの送信処理
      GmailApp.sendEmail(mail_to, mail_subject, mail_body.join('\n'));

    }
  }
}

関連するアプリ


【GASで便利に】スプレッドシートを開いたときにメッセージを表示する

スプレッドシートを開いたときにメッセージを表示するGoogle Apps Scriptです。更新履歴などのお知らせ、業務の引き継ぎ、注意事項などを表示するのに使えます。ユーザーによるスクリプトの動作承認は不要です。

【GASで便利に】スライドを開いたときにメッセージを表示する

スライドを開いたときにメッセージを表示するGoogle Apps Scriptです。更新履歴などのお知らせ、業務の引き継ぎ、注意事項などを表示するのに使えます。ユーザーによるスクリプトの動作承認は不要です。

【GASで便利に】ドキュメントを開いたときにメッセージを表示する

ドキュメントを開いたときにメッセージを表示するGoogle Apps Scriptです。更新履歴などのお知らせ、業務の引き継ぎ、注意事項などを表示するのに使えます。ユーザーによるスクリプトの動作承認は不要です。

【GASで品質向上】特定のセルが編集されたときにメッセージを表示する

特定のセルが編集されたときにメッセージを表示するGoogle Apps Scriptです。編集をさせたくないときは保護してしまえばよいのですが、編集後に「本当にその内容で大丈夫?」と振り返って欲しいときに使えるかもしれません。ユーザによるスクリプトの動作承認は不要です。

【GASで便利に】シートが編集された時にメール通知する

スプレッドシートの内容が変更されるたびにメールで通知するGoogle Apps Scriptです。標準機能でスプレッドシートのオーナーへはメール通知が可能ですが、任意の宛先に送れるものを作ってみました。

【GASで品質向上】長い数式が入っているセルにメモを入れてもらう

一定の文字数以上で構成された数式が入っているセルを探し、そのセルにメモが入っているかどうかをチェックするGoogle Apps Scriptです。長い数式はわかりにくいので説明を書いてもらうために作りました。

【GASで品質向上】全角英数が入力されたらアラートを出す

スプレッドシートに「全角の数字、アルファベット」が入力されたら警告を表示するGoogle Apps Scriptです。全角が許されない現場にどうぞ。

【GASで監視】シートが編集されたことを任意のタイミングでメール通知する

標準機能では即時と1日1回しか選べない「更新時の通知」を、任意のタイミングで行うGoogle Apps Scriptです。

【GASで便利に】セルを編集した人と日時をメモに追加する

セルが編集されたときに、編集したユーザーのメールアドレスと日時をメモ欄に記載するGoogle Apps Scriptです。

タグ一覧

最新のアプリ

人気のアプリ

ページトップに戻る
myfunc.jp