質問: ### 前提・実現したいこと Googleスプレッドシートで、 特定の列が「対応済み」に変更されたら、メールで通知したい。 ある依頼をGooleフォームから受け付ける仕組みをとっています。 そのGoogleフォームで入力された値が格納されるGoogleスプレッドシートがあります。 そのシートのある列に、フォームから入力された依頼が対応されたら、 手動で「対応済み」という値を入力します。 その「対応済み」という値に変わったのをトリガーに、 指定のメールアドレス宛に変更された通知を送るようにしたいです。 Google Apps Scriptでの記述方法を教えていただけないでしょうか。 知識が少なく申し訳ないのですが、ゼロから記述いただけますと幸いです。 ### 試したこと 上記のご質問にも似ているのですが、slackではなく、メール通知にしたいです。 また、 https://qiita.com/3mc/items/b78cbb4c2eebf06d26a0 これにも似ているのですが、トリガーの設定のせいか、 全く同じスプリプトを入れて(配信先のメールなどだけ調整して)もうまくメールが飛びませんでした。 ### 補足 通知メールの内容は、スプレッドシートの下記の値を使いたいです。 A列:タイムスタンプ(フォームからの依頼日時) C列:依頼者名 S列:「対応済み」という項目を入れる列 メール文面 「A(フォームからの依頼日時)にCさんから依頼の案件が対応済みになりました」
回答: 権限の都合がありますので、トリガーを設定してください。 (トリガーの設定方法は調べてください。設定値は、onEdit、スプレッドシートから、編集時、の3つです (分かるとは思いますが「フォームの回答」とか、宛先のアドレスとかはお使いの環境にあわせてください ``` function onEdit(e) { const workingSheet = e.range.getSheet(); if(workingSheet.getSheetName() !== "フォームの回答" || e.value !== "対応済み") {return;} const formValue = workingSheet.getRange(e.range.getRow(), 1, 1, 3).getValues()[0]; MailApp.sendEmail({to:"someone@example.com" , subject:"依頼者("+formValue[2]+")", body:"依頼時刻("+formValue[0]+")\n対応済み" }); } ```