フォームが送信されたら、管理者に対して質問と回答をメールで通知するGoogle Apps Scriptです。標準機能では回答があったことの通知しかできませんが、GASを使えば回答内容も送信できます。
特にありません。
今お使いのGoogle フォームに組み込めます。
お好きなフォームを作成してください。
今回はサンプルで添付ファイル以外のすべての設問形式を含んだフォームを作成しています。
フォームが送信されたタイミングで、メールが送信されます。
実際に届いたメールの本文です。
グリッドタイプの設問は、回答の表現が少し分かりづらいですね。
ラジオボタン(グリッド)の場合
「1 列目,2 列目,3 列目,4 列目」
これは1行目は1列目が、2行目は2列目が、3行目は3列目・・・と選択されたことを表しています。
行がカンマで区切られています。
チェックボックス(グリッド)の場合
フォームは次の画像のように、各行で1列目と2列目を選択しました。
この結果がこのように表現されています。
「1 列目,2 列目,1 列目,2 列目,1 列目,2 列目,1 列目,2 列目」
カンマでは行の識別ができず、「2列目 → 1列目」のように列番号が減っていれば次の行に移動した、と判断できそうです。
これはもう少し取得方法を考えたほうがよいかもしれませんね。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00010/index.html
*/
function onSubmit(e) {
// フォームの項目や回答を取得する
const form_responses = e.response.getItemResponses();
// メール本文を格納する変数を準備
let mail_body = '';
// フォームの項目数だけループする
for (var i = 0; i < form_responses.length; i++) {
// フォームの質問を取得
let question = form_responses[i].getItem().getTitle();
// 質問に対する回答を取得する
let answer = form_responses[i].getResponse();
// メール本文を組み立てる
mail_body += '[質問]' + question + '\n';
mail_body += '[回答]' + answer + '\n\n';
}
// メール送信用のパラメータをセットする
const mail_to = '送信先メールアドレス';
const mail_subject = 'フォームが登録されました';
const mail_options = {
'name' : '好きな差出人名',
'cc' : '',
'bcc' : ''
}
MailApp.sendEmail(mail_to, mail_subject, mail_body, mail_options);
}
Googleフォームが送信されるたびに、回答内容をスライドに反映させるGoogle Apps Scriptです。思いつきで作ったんですが、自己紹介やアイディアなどを集める時に良いかも?
フォームが送信されたら、その内容とともにSlackに通知してくれるGoogle Apps Scriptです。お問い合わせが来たときにチーム全員がすぐ知りたいときにどうぞ。
フォームに入力された値から、カレンダーのイベントを作成するGoogle Apps Scritpです。Googleアカウントを持っていない人に予定を入れてほしい時に使えるかも?