前提
Googleフォームでアンケートの回答をお願いしており、
回答があった際は連携するスプレッドシートに回答内容が自動記載されるような仕組みを取っております。
*スプレッドシートにはシートが3つあり
①Googleフォームの回答が自動記載されるシート
②①のシートから「参加者」のみを抽出したシート
③①のシートから「参加者以外」を抽出したシート
となっております。
実現したいこと
Googleフォームの回答が自動記載されるシート①のC列に「参加者」と記載があったら、自動で指定したアドレスにメールで通知できるようにしたい。(シートも①を指定したいが、うまく行きませんでした)
Google Apps Scriptでの記述方法を教えていただけないでしょうか。
発生している問題・エラーメッセージ
スプレッドシートのシート①に回答が自動記載された場合、メールを飛ばすことができない。
(直接手動で入力した際にはメールが送信される)
function notification(){ const recipient = 'sample@co.jp'; //通知を飛ばす先のgメールアドレス const subject = '【Googleフォーム新規回答あり】';//通知タイトル const body = 'https://docs.google.com/spreadsheets/d/sample' ;//確認するシートのURL var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得 var myCell = mySheet.getActiveCell(); //アクティブセルを取得 if(myCell.getColumn()==3 && myCell.getValue()=="参加者"){ //C列に参加者と入力があったか判定 GmailApp.sendEmail(recipient, subject, body);//通知メールを送信 } }
上記コードのC列に参加者と入力があったか判定するコードに、
特定のシート(シート①)を指定しようとしましたが、(ReferenceError: ss is not defined)というエラーが表示されてしまいました。
トリガーの設定は
実行する関数を選択:notification
イベントのソースを選択:スプレッドシートから
イベントの種類を選択:フォーム送信時
今すぐ通知を受け取る
にしております。
試したこと
Googleフォームに回答があった場合、スプレッドシートを通さずに通知メールを送信するスクリプトの設定も行ってみましたが、(TypeError: Cannot read property 'namedValues' of undefined)というエラーが表示され、うまく行きませんでした。
今回初めてGoogle Apps Scriptを利用しており、超初心者のため、Googleフォームとスプレッドシート、どちらでどのような設定を行えば良いのか分かりません。
どちらの方法でも構いませんので、「参加者」からの回答があった場合に指定のメールアドレス宛に通知をする方法をご教授いただけないでしょうか。
どうぞよろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/04 01:35
退会済みユーザー
2022/06/04 02:14 編集
2022/06/04 02:06
退会済みユーザー
2022/06/04 02:13
2022/06/06 05:37
退会済みユーザー
2022/06/06 06:46 編集
2022/06/06 06:58
退会済みユーザー
2022/06/06 09:07 編集
2022/06/07 00:05
退会済みユーザー
2022/06/07 01:11 編集
2022/06/07 01:53
退会済みユーザー
2022/06/07 02:28