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);
}
スポンサーリンク

トリガーを設定する

トリガー設定ボタンを選択

f:id:gdtypk:20210906160916p:plain

イベントのソースは「フォーム」
イベントの種類は「フォーム送信時」を選択

f:id:gdtypk:20210906160930p:plain

スポンサーリンク

送信してみる。

フォームに入力し、送信すると、メールが届きました。

f:id:gdtypk:20210906160943p:plain

さいごに

送信したデータからメールアドレスをキーにして、DBっぽく扱えるようにしたい。

参考にしたサイト

https://takakisan.com/gas-form-send-email-tutorial/

コメント

タイトルとURLをコピーしました