したいこと
フォームの回答を送信したタイミングで、内容をメールで送信したい。
トリガーをスプレッドシートに指定している記事は多く見つかるが、
シートが複数のフォームに紐付いている場合、複数送信されてしまうため、どうにかしたかった。
スクリプトコード
FormApp.getActiveForm(); function onFormSubmit(e) { var email = '通知したいアドレス'; var subject = 'フォームが送信されました。'; var body = ''; var itemResponses = e.response.getItemResponses(); itemResponses.forEach(function(itemResponse, index){ body+= "【 "+itemResponse.getItem().getTitle() + "】\n"+ itemResponse.getResponse()+"\n"; }) GmailApp.sendEmail(email, subject, body); }
トリガーを設定する
トリガー設定ボタンを選択
イベントのソースは「フォーム」
イベントの種類は「フォーム送信時」を選択
送信してみる。
フォームに入力し、送信すると、メールが届きました。
さいごに
送信したデータからメールアドレスをキーにして、DBっぽく扱えるようにしたい。
コメント