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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google フォーム

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

Google Apps Script

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

Q&A

解決済

1回答

13544閲覧

Googleフォームにて定員になったら選択肢から除外したいです。

takikuri

総合スコア4

Google フォーム

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

Google Apps Script

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

0グッド

5クリップ

投稿2020/02/04 09:29

編集2020/02/04 10:27

前提・実現したいこと

Googleフォームで申し込みフォームを作成しており、各時間帯満員になったら選択肢から除外する
ということをしたいです。

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

定員を1名に設定し、申し込みを入れてみましたが、選択肢から除外されません。

該当のソースコード

function endFormCheck() { var LIMIT_COUNT = 1; //ここで席数上限を設定 var ANSWER_LENGTH = 3; //時間帯の数 var answerCount = [0,0,0];//カウント用:時間帯の数分配列を準備します var itemID = 0; var form = FormApp.getActiveForm(); //アクティブフォームを取得 var formResponses = form.getResponses(); // 全回答内容を取得 for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; // 回答ひとつ分を取得 var itemResponses = formResponse.getItemResponses(); // 質問項目を取得 for (var j = 0; j < itemResponses.length; j++) { // 回答内容をひとつずつチェック var itemResponse = itemResponses[j]; var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); if(question == '時間帯を選択してください。'){ // 申込み数カウント if(answer == '10:10~10:50'){ answerCount[0]++; } else if( answer == '11:20~12:00'){ answerCount[1]++; } else if( answer == '13:30~14:10'){ answerCount[2]++; } } } } // LIMIT_COUNTになっている選択肢があるかチェック var answerCheck = 0; var choiceArray = []; var arrayCount = 0; for(var i = 0; i < ANSWER_LENGTH; i++){ if(answerCount[i] == LIMIT_COUNT){ answerCheck++; } else{ // LIMIT_COUNTになっていない選択肢は残す if ( i == 0 ){ choiceArray[arrayCount] = '10:10~10:50'; arrayCount++; } else if( i== 1 ){choiceArray[arrayCount] = '11:20~12:00'; arrayCount++;} else if( i== 2 ){choiceArray[arrayCount] = '13:30~14:10'; arrayCount++;} } } // 全てLIMIT_COUNTなら申込みフォームを受付終了 if(answerCheck == ANSWER_LENGTH){ form.setAcceptingResponses(false); } // LIMIT_COUNTになっていない選択肢を「参加する時間」の選択肢に設定する if( (answerCheck != ANSWER_LENGTH) && (answerCheck >= 1)){ var items = form.getItems(); for (var i= 0; i< items.length; i++ ){ var item = items[i]; if( item.getTitle() == '時間帯を選択してください。' ){ var choice = item.asMultipleChoiceItem().getChoices(); item.asMultipleChoiceItem().setChoiceValues(choiceArray); } } } }

試したこと

ネットで同じようなプログラムをコピーして組み替えたり、選択肢をプルダウンにしたりラジオボタンにしたりしました。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

自己解決

上記でできました。自己解決です。

投稿2020/04/09 04:15

takikuri

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問