googleスプレッドシートからGoogleフォームの4択問題を作成してみた

1 スプレッドシートを作成する

 まずは,次のようにスプレッドシートを作成します。

A列に質問,B列からE列に選択肢,F列に正解を入れます。

(問題も表形式もChatgptに作成してもらいました。)

スプレッドシート


2 スプレッドシートにプログラムを入力▶実行

(1)スプレッドシートの「拡張機能」から「Apps Script」をクリックする

 
(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());
}



  

コメント

このブログの人気の投稿

Google Forms で質問文に改行を入れる方法