- 公開日:
スプレッドシートの特定のセルの更新で通知(メール送信)する方法
Google スプレッドシートでは特定のセル、あるいはシートが更新(編集)された際にメールでユーザーに通知をすることが出来ます。
この記事では、スプレッドシートで特定のセルやシートが更新された際に通知(メール送信)する方法を分かりやすく紹介します。
スプレッドシートの特定のセルの更新で通知(メール送信)する方法
Google スプレッドシートで特定のセルの更新(編集)があった際に通知(メール送信)する場合、Google Apps Script(GAS)でスクリプトを作成します。
以下より、スプレッドシートで特定のセルの更新で通知(メール送信)する方法を詳しく解説します。
特定のセルが更新されたら通知(メール送信)する
Google スプレッドシートで特定のセルの更新(編集)があった際に通知(メール送信)するスクリプトをGASで作成する場合、メニューバーにある拡張機能から行います。
作成したスクリプトを、トリガー(発動する際の条件)で設定することで、特定のセルが更新された際に即座にメールで通知を受けることが出来ます。
A1のセルが更新(編集)された時にメールで通知することを条件としてGASでスクリプトを作成します。
①「拡張機能」、②「Apps Script」を順に選択します。
「新しいプロジェクト」ボタンをクリックします。
「無題のプロジェクト」という名前になっているので、後に分かりやすいように名前を変更します。
名前を変更をクリックします。
①プロジェクトタイトルを入力し、②「名前を変更」ボタンをクリックします。
プロジェクトタイトルを「セル更新でメール通知」としております。
下記のGASスクリプトをコピーして貼り付けます。
指定せるセルもしくは範囲が更新(編集)された際に、指定したメールアドレス宛に通知を送信するスクリプトです。
// 編集イベントハンドラ
function onEdit(e) {
// 編集された範囲を取得
var range = e.range;
var sheet = range.getSheet();
// 編集された範囲のアドレス
var editedRange = range.getA1Notation();
// 監視したい範囲を指定(例:A1:B10)
var monitoredRange = sheet.getRange('A1:B10');
// 編集された範囲が監視範囲内にあるか確認
if (range.getColumn() >= monitoredRange.getColumn() &&
range.getColumn() <= monitoredRange.getLastColumn() &&
range.getRow() >= monitoredRange.getRow() &&
range.getRow() <= monitoredRange.getLastRow()) {
// 通知するメールアドレスを指定
var emailAddress = 'your-email@example.com';
// メールの件名と本文を設定
var subject = 'スプレッドシートのセルが編集されました';
var body = 'セル範囲 ' + editedRange + ' が編集されました。\n' +
'編集後の値: ' + range.getValue() + '\n' +
'シート名: ' + sheet.getName();
// メールを送信
MailApp.sendEmail(emailAddress, subject, body);
}
}
コードの11行目に指定したい範囲、もしくはセル名を入力します。
コードの20行目に通知するメールアドレスを入力します。
「プロジェクトを保存」ボタンをクリックします。
左にあるトリガーをクリックします。
「トリガーを追加」ボタンをクリックします。
実行する関数を選択で「onEdit」を選択します。
イベントのソースを選択で「スプレッドシートから」を選択します。
イベントの種類を選択で「編集時」を選択します。
エラー通知設定で「今すぐ通知を受け取る」を選択します。
「保存」ボタンをクリックします。
シートに戻り指定したセルを編集します。
指定したメールアドレス宛に通知が送信されました。
別のユーザーがシート更新で通知(メール送信)する方法
Google スプレッドシートでは上記のGASを使用する方法のように特定のセルなどの細かい設定は出来ませんが、シートの更新があった際にメールで通知させる簡易的な方法があります。
メニューバーにあるツールの通知設定機能を利用することで、別のユーザーがシートを更新した際にメールで通知させます。
①「ツール」②「通知設定」③「通知を編集」を順に選択します。
①「変更が入ったとき」②「メール - その都度」③「保存」ボタンを順に選択します。
「完了」ボタンを押してシートに戻ります。
別のユーザーでログインして、D5セルを編集します。
元々ログインしていたGoogleアカウントのGmail宛に、更新が通知されました。