前提・実現したいこと
当方、初心者でございます。
SpreadSheet内のデータを反映させたクイズをGoogleFormで作成しています。
調べながらコードを書き込んできましたが、関数実行後にラジオボタンが設置されなくて困っています。
問題数はSpreadSheetに入力されているデータに応じて、GoogleFormの問題数が増減できることが目標です。
色々と手を尽くしたのですが、力量不足で手詰まりとなってしまいました。
ご指南よろしくお願いいたします。
###質問の詳細
GASを使い、SpreadSheet内のデータをもとに、GoogleFormでクイズを手軽に作れるようにコードを書きました。
初心者ですので、私の理解できる範囲で様々なページを見て回り、それらを参考にコードを書きました。
デバッグまではエラーもなくできるのですが、いざ出力されたGoogleFormを確認すると、タイトルのみの設定になってしまいます。
そもそもの理解が低いため、途方に暮れています。
<完成のイメージ>
①SpreadSheetに任意の問題データを収納する
②収納されたデータに基づいてGoogleFormで問題を生成する
※100問の問題を都度手打ちですることを回避したいため
####SpreadSheetのデータ
各列の2行目は見出しです
A列:A3以降は問題番号
B列:B3以降は問題
C列~F列:3行目以降は選択肢
G列:G3以降は正解の選択肢
C1はタイトルを入力できるようにしています。
発生している問題・エラーメッセージ
エラーメッセージは出ていません。 ただし、scriptを実行した結果表示されるフォームには、タイトルのみしかありません。 自分のイメージしていた結果は、SpreadSheetに入力されている問題数だけの質問が生成されることをイメージしていました。 質問が生成されていませんので、もちろん選択肢も表示されません。 getRangeで範囲をとっていますし、変数も宣言しているはずなのですが...必ず見落としがあると思いますが、自分の現在のスキルではお手上げ状態です、。
該当のソースコード
GAS
1function Makeform() { 2 //参考ページをもとに書きかえています。 3 var ActiveSheet = SpreadsheetApp.getActiveSheet(); 4 var lastRow = ActiveSheet.getLastRow(); 5 var lastColumn = ActiveSheet.getLastColumn(); 6 var QQlist = []; 7 QQlist = ActiveSheet.getRange(3,2,lastRow,lastColumn).getValues(); 8 9 var formTitle = ActiveSheet.getRange(1,3).getValue(); 10 var form = FormApp.create(formTitle); 11 //以下が全く出てきません。 12 for(var i = 0;i<QQlist.lenght;i++){ 13 var choices; 14 var item = form.addMultipleChoiceItem(); 15 choices=[ 16 item.createChoice(QQlist[i][2]), 17 item.createChoice(QQlist[i][3]), 18 item.createChoice(QQlist[i][4]), 19 item.createChoice(QQlist[i][5]) 20 ]; 21 item.setTitle([QQlist[i][1]]); 22 item.setChoices([choices]); 23 item.setPoints(1); 24 item.setRequired(false); 25 item.setFeedbackForCorrect(FormApp.createFeedback().setText(QQlist[i][6].build())); 26 item.setFeedbackForIncorrect(FormApp.createFeedback().setText(QQlist[i][6].build())); 27 } 28 Logger.log(QQlist); 29 }
試したこと
似たような取り組みをされている方のホームページを訪れ、それらを参考にして作成しました。
「Googleスプレッドシートに並べた二択クイズをGoogleフォーム化する」 リンク内容
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/21 14:37
2020/02/21 16:15 編集
2020/02/22 06:54