実現したいこと
・フォーム回答のシートでN列に「変更」が入るとメール通知するようにしたいです!
前提
Googleフォームからの回答を受け付けるシートでN列に「変更」という回答があった場合のみメール通知が来るようにしたいです。
N列の「変更」はチェックボックス式のフォームのチェックを入れると入力されるようにしています。
該当のGAS
function sendEmailOnFormSubmit(e) { var sheet = e.source.getSheetByName('フォームの回答'); // シート名を適宜変更 var dataRange = sheet.getDataRange(); var values = dataRange.getValues(); // フォーム送信データの最終行を取得 var lastRow = dataRange.getLastRow(); // 回答が「変更」となっている行を検索 var hasAdjustment = false; for (var i = 1; i < lastRow; i++) { var response = values[i][13]; // N列のインデックスを指定します if (response === '変更') { hasAdjustment = true; break; } } if (hasAdjustment && e.namedValues['変更'][0] === '変更') { var recipient = 'mail@gmail.com'; //メールアドレス var subject = '【メールタイトル】'; var message = '変更がありました。'; MailApp.sendEmail(recipient, subject, message); } }
試したこと
GPTを用いて修正をしたりなどしていますが、メールが来ない…もしくはどんな回答でもメールが来るようになってしまいます。
補足情報
トリガー設定は
「実行する関数を選択」で「sendEmailOnFormSubmit」
「イベントのソースを選択」で「スプレッドシート」
「イベントの種類を選択」で「フォーム送信時」
になっています。
0 コメント