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

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

新規登録して質問してみよう
ただいま回答率
85.32%

Q&A

解決済

1回答

233閲覧

ReferenceErrorを解決できません

10-mo

総合スコア23

0グッド

1クリップ

投稿2025/02/19 02:21

実現したいこと

Googleフォームの回答の選択肢によって、メール送信先を変えるプログラムを作成しています。
フォーム内に学年を選択できる質問があります。園児~6年生まで選択でき、例えば園児を選択して送信すると、園児担当者のメールアドレスに連絡がいくようなシステムを作成したいです。

発生している問題・分からないこと

エラーメッセージが出ます。
toに全部メールアドレス入れて動かしてみてもエラーになります。参考サイト見て作成したものの、エラーが改善できずご教示いただきたい次第です。

エラーメッセージ

error

1ReferenceError: to is not defined 2 at sendForm(コード:53:23)

該当のソースコード

GAS

1function sendForm(e) { 2//学年 3var schoolyear = ""; 4 5//タイトル 6var body = "体験のお申込がありました。内容を確認の上、ご返信の程、よろしくお願い致します。"; 7 8var itemResponses = e.response.getItemResponses(); 9for(var i = 0 ; i < itemResponses.length; i++){ 10 var itemResponse = itemResponses[i]; 11 var question = itemResponse.getItem().getTitle; 12 var answer = itemResponse.getResponse(); 13 body += "\n\n【" + question + "】\n\n"; 14 body += answer; 15 16 17//学年によって送信先を変更する 18 if (question === "学年"){ 19 if (answer === "園児"){ 20 schoolyear = answer; 21 to = ""; 22 cc ="" 23 } else if (answer === "1年生"){ 24 schoolyear = answer; 25 to = ""; 26 cc ="" 27 } else if (answer === "2年生"){ 28 schoolyear = answer; 29 to = ""; 30 cc ="" 31 } else if (answer === "3年生"){ 32 schoolyear = answer; 33 to = ""; 34 cc ="" 35 } else if (answer === "4年生"){ 36 schoolyear = answer; 37 to = ""; 38 cc ="" 39 } else if (answer === "5年生"){ 40 schoolyear = answer; 41 to = ""; 42 cc ="" 43 } else if (answer === "6年生"){ 44 schoolyear = answer; 45 to = ""; 46 cc ="" 47 } 48 } 49} 50 51//件名 52var subject = "体験問い合わせ"; 53MailApp.sendEmail({to:to,cc:cc,subject:subject,body:body}); 54 55} 56 57

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

参考サイト
https://engineering.nifty.co.jp/blog/12154

補足

body += "\n\n【" + question + "】\n\n";

の¥は、実際は、「/」の反対バージョンです。ここで打つと「¥」になってしまいます。。。

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

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

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

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

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

TakaiY

2025/02/19 04:42

18行目以降の分岐に入る前に、question や answerに入っている値が想定外のものだとこのtoやccに値が入りませんが、それらの変数の値は確認済みなのでしょうか
10-mo

2025/02/19 05:45

コメントありがとうございます。コメントについて存じておらず、調べましたがよく理解できませんでした。 Googleフォームの質問内容は、記述または選択となっています。
guest

回答1

0

ベストアンサー

js

1 var question = itemResponse.getItem().getTitle;

getTitlegetTitle() に修正して、ちゃんと関数を呼びましょう。関数を呼んでないため、question"学年"になることがないのだと思われます。

ついでですが、

  • 変数 tocc も宣言すべきかと思います。
  • 人に見せるコードはちゃんとインデントしましょう。インデントがおかしいと読みにくいです。

投稿2025/02/19 07:43

編集2025/02/19 08:28
int32_t

総合スコア21893

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

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

10-mo

2025/02/19 23:45

ご教示いただき、ありがとうございました。 ()がなかったため、関数を呼び出せなかったのですね。。。 to = "メールアドレス"入れて作動させてみたところ、エラー無く動きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.32%

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

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

質問する

関連した質問