このプログラムは、Google スプレッドシート上の特定のセル(デフォルトで”A1″)の数値が一定の条件(この例では5以上)に合致した場合に、指定されたメールアドレスに通知を送る自動化スクリプトです。このスクリプトはGoogle Apps Scriptで書かれており、スプレッドシートに簡単に組み込むことができます。
注意: メールを送信する機能を使用するためには、適切な権限の設定が必要です。
このシステムは、データの監視、自動レポート、アラート通知など、さまざまな用途で活用することができます。
使用技術
- Google Apps Script: スプレッドシートのデータを操作し、メール通知を行います。
- Google スプレッドシート: データの格納と管理が行われます。
- Google Mail API(MailApp): メール通知機能を提供します。
機能
- 値の監視: スプレッドシートの特定のセル(この例では”A1″)の値を監視します。
- 条件チェック: 監視しているセルの値が指定した条件(この例では5以上)に合致するかどうかをチェックします。
- メール通知: 条件に合致した場合、指定されたメールアドレスに通知メールを送信します。
- セル値のリセット(オプショナル): メール送信後、セルの値をリセットすることも可能です(この例では0にリセット)。
ソースコード
JavaScript
// この関数はGoogleスプレッドシートの特定のセル(この場合は"A1")の値が5以上になった場合にメールを送信します。
function sendEmailIfValueIsHigh() {
// アクティブなスプレッドシートのオブジェクトを取得します。
var ss = SpreadsheetApp.getActiveSpreadsheet();
// アクティブなスプレッドシート内で現在アクティブなシート(タブ)のオブジェクトを取得します。
var sheet = ss.getActiveSheet();
// "A1"セルの値を取得します。
var cellValue = sheet.getRange("A1").getValue();
// セルの値が5以上かどうかをチェックします。
if(cellValue >= 5) {
// メールを送る先のメールアドレスを設定します。
var recipientEmail = "your_email@example.com";
// メールの件名を設定します。
var subject = "Google Spreadsheet Notification";
// メールの本文を設定します。
var body = "The value in cell A1 is " + cellValue + ", which is greater than or equal to 5.";
// メールを送信します。
MailApp.sendEmail(recipientEmail, subject, body);
// オプション:メールを送信した後で"A1"セルの値を0にリセットします。
sheet.getRange("A1").setValue(0);
}
}
// MIT License
// Copyright (c) 2023 [ANJI]
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
下記のようにコードを修正すると、条件に合致してメールが送信された後でも、”A1″セルの値はそのまま保持されます。
JavaScript
// メールを送信します。
MailApp.sendEmail(recipientEmail, subject, body);
// この行を削除することで、セルの値はリセットされません。
// sheet.getRange("A1").setValue(0);
使い方
- Google スプレッドシートを開く: 新しいスプレッドシートを作成するか、既存のスプレッドシートを開きます。
- スクリプトエディタを開く: スプレッドシートのメニューから 拡張機能 > Apps Script を選択してスクリプトエディタを開きます。
- コードを貼り付け: スクリプトエディタに上記のJavaScriptコードを貼り付けます。
- メールアドレスの設定: コード内の var recipientEmail = “your_email@example.com“; の部分に送信先のメールアドレスを設定します。
- 保存と認証: コードを保存した後、Googleによる認証を行います。これはメールを送信する権限をスクリプトに与えるために必要です。
- トリガーの設定(オプション): スクリプトエディタの左側のトリガーアイコン(時計のようなアイコン)をクリックして、特定のイベント(例えば、シートが編集されたとき)にスクリプトが実行されるように設定できます。
- テスト実行: スクリプトエディタで 実行 ボタンを押すか、スプレッドシートの”A1″セルの値を手動で5以上に設定してテストを行います。
- 確認: 条件に合致した場合、設定したメールアドレスに通知が送られてくるか確認します。
- リセットオプション: コード内でセルの値をリセットする行があれば(この例ではある)、その行を削除するかコメントアウトして、セル値のリセットを無効にすることもできます。
以上が基本的な使い方になります。これで、特定のセルの値が条件に合致した場合にメール通知が行われるように設定できます。
コメント