質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

1回答

3600閲覧

GASでフォームのスコアによって、自動送信するメール内容を変えたい

tsakai

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/09/08 00:06

前提・実現したいこと

googleフォームを使って、確認テストを作成しました。
正解率が7割以上で次のセクションに進めます。

フォームのURLはトリガーを設定し、回答が記録されるごとに自動送信をしたいです。
合格点に達しているときは次セクションのURLを、達していないときは当該セクションのURLを送信します。

発生している問題・エラーメッセージ

IFで分岐をさせずにメールを自動送信したときには問題なく遅れましたが、今回の実装をすると、スプレッドシートから回答を取得するところでエラー起きてしまいます。

TypeError: Cannot read property 'namedValues' of undefined(行 3、ファイル「コード」)

該当のソースコード

function onFormSubmit(e){
//回答を取得
var email = e.namedValues['メールアドレス'][0];
var score = e.namedValues['スコア'][0];
//件名
var subject = 'セクション1の回答を受け付けました';
//合格の場合の本文
var body1
='●●です。'+
'\n'+
'セクション1の回答を受け付けました。\n'+
'引き続き、セクション2の受講を下のリンクよりしてください。\n'+
'◆URL1◆'+
'\n'+
'期間内にセクション●までを受講完了させてください。\n';
//不合格の場合の本文
var body2
='●●です。'+
'\n'+
'セクション1の回答を受け付けました。\n'+
'合格点に達していません。再度、下のリンクよりセクション1の回答をしてください。\n'+
'◆URL2◆'+
'\n'+
'期間内にセクション●までを受講完了させてください。\n';
//送信
if(score>=20){
mailApp.sendEmail({
to:email,
subject:subject,
body:body1
});
}else{
mailApp.sendEmail({
to:email,
subject:subject,
body:body2
});
}
}

試したこと

最初はIF~elseで本文内容を分岐させていましたが、こちらもうまくいかず、このようにしてみました。

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

他の方の回答を拝借して恐縮ですが、下記の例ではありませんか?

おそらくGASプロジェクトの作成方法もしくはトリガーの設定内容が間違っているのだと思います。

投稿2020/09/08 00:11

nekoniki

総合スコア2411

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問