Googleフォームからメール通知するGAS(google memo)
Googleフォーム>スクリプトエディタを起動
コード入力
名称変更し>トリガーを設定
Note:イベントの種類は「フォーム送信時」を選択
例1)フォームには「記述式」「チェックボックス(グリッド)」が混在
function sendFormResponse(e) {
var To = "xxx@xxx.co.jp"; // 通知を送信するメールアドレス
var Subject = "xxx"; // メールの件名
var Body = ""; // メールの本文
var Options = {"cc":"xxx@xxx.co.jp", "bcc":"xxx@xxx.co.jp, xxx@xxx.co.jp"};
// 曜日のリストを定義
var weekdays = ["月", "火", "水", "木", "金"];
// 回答からフォームすべての回答を取得
var formResponses = e.response.getItemResponses();
// 各回答をメール本文に追加
for (var i = 0; i < formResponses.length; i++) {
var itemResponse = formResponses[i];
var question = itemResponse.getItem().getTitle();
var answer;
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX_GRID) {
// グリッド形式のチェックボックスの場合
answer = "";
var gridResponse = itemResponse.getResponse();
for (var j = 0; j < gridResponse.length; j++) {
var cell = gridResponse[j];
answer += weekdays[j] + "-" + cell.toString() + "\n";
}
} else {
// 記述式の場合
answer = itemResponse.getResponse();
}
Body += question + ": " + answer + "\n";
}
// メールを送信
MailApp.sendEmail(To, Subject, Body, Options);
}
例2)フォームには「記述式」「プルダウン」「チェックボックス」が混在
function sendFormResponse(e) {
var To = "xxx@xxx.co.jp"; // 通知を送信するメールアドレス
var Subject = "xxx"; // メールの件名
var Body = ""; // メールの本文
var Options = {"cc":"xxx@xxx.co.jp", "bcc":"xxx@xxx.co.jp"};
// 回答からフォームすべての回答を取得
var formResponses = e.response.getItemResponses();
// 各回答をメール本文に追加
formResponses.forEach(function(response) {
Body += response.getItem().getTitle() + ": " + response.getResponse() + "\n";
});
// メールを送信
MailApp.sendEmail(To, Subject, Body, Options);
}
この記事が気に入ったらサポートをしてみませんか?