📝
GAS フォームの内容を取得したい
したいこと
フォームの回答を送信したタイミングで、内容をメールで送信したい。
トリガーをスプレッドシートに指定している記事は多く見つかるが、 シートが複数のフォームに紐付いている場合、複数送信されてしまうため、どうにかしたかった。
スクリプトコード
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っぽく扱えるようにしたい。
Discussion