googleスプレッドシートからGoogleフォームの4択問題を作成してみた
1 スプレッドシートを作成する
まずは,次のようにスプレッドシートを作成します。
A列に質問,B列からE列に選択肢,F列に正解を入れます。
(問題も表形式もChatgptに作成してもらいました。)
2 スプレッドシートにプログラムを入力▶実行
(3)保存をして,実行ボタンを押す。
(4)実行やアクセスを許可するかどうか出てくるので,許可する。
(5)マイドライブにGoogleフォームが作成される。
3 完成したフォームについて
プログラムで4択問題のGoogleフォームを作成することができました。ただし・・・
<改善したい点①> 各問題の点数が0点になってしまう(-_-;)
点数を自動で1点にしてほしかったけど,うまくいかない。
<改善したい点②> 選択肢をシャッフルしたかったけど,挫折。手入力。
プログラム貼っておくので,誰か気が向いたら改善してください。コメント入れといてもらえたら,助かります。けど,不定期チェックだからすぐには反応できないです。
今回のGAS(プログラム)
function createQuizForm() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
var form = FormApp.create("ITパスポート単語テスト");
form.setIsQuiz(true); // Use setIsQuiz() instead of setQuiz()
for (var i = 1; i < data.length; i++) {
var question = data[i][0];
var choices = [data[i][1], data[i][2], data[i][3], data[i][4]];
var correctAnswer = data[i][5];
var item = form.addMultipleChoiceItem();
item.setTitle(question)
.setChoices(choices.map(choice => item.createChoice(choice, choice === correctAnswer)))
.showOtherOption(false);
}
Logger.log("GoogleフォームのURL: " + form.getPublishedUrl());
}
コメント
コメントを投稿