この記事では、ChatGPTを活用してクイズの問題を作成し、それをGoogleフォームに一括変換する方法をご紹介します。
通常、Googleフォームでクイズを作成するには、問題を一つずつ手入力する必要がありますが、この方法を使えばほとんどコピー&ペーストで簡単にできるので、ぜひ試してみてください。
本記事は、以下の動画を記事にしたものです。
「動画の方が好き」という方は、動画をご参照ください。
ステップ1:ChatGPTでクイズ問題を作成
まずは、ChatGPTにアクセスし、クイズの問題を作成してもらいます。
例として、動画内では語彙問題を作成しました。
中断、復活、粘度、食感、組み込む、特徴、考案 これらの単語使った選択問題を7問、短文回答問題を3問作ってください
このように指示すると、ChatGPTは指定された形式と数の問題を作成してくれます。
選択問題には、問題文、選択肢、そして正解が示されるはずですが、うまく出てこない場合は「選択肢も出して」「正解も出して」というように追加で指示を出しましょう。
短文解答問題も作成できます。
ステップ2:Googleフォーム作成用スクリプトを生成
次に、作成した問題をGoogleフォームに変換するためのスクリプトをChatGPTに書いてもらいます。
先ほどの問題作成に続けて、ChatGPTに以下の指示を出します:
これらの問題を使ってGoogle formsで小テストを作成するためのスクリプトを書いてください
すると、ChatGPTはGoogle Apps Script (GAS) のコードというものを生成してくれます。このコードをコピーしておきましょう。

内容がよくわからなくても、そのままコピー&ペーストで利用できるので、心配しないでください。
ステップ3:Googleフォームに貼り付けて実行
いよいよ、生成されたスクリプトを使ってGoogleフォームを作成します。
新しいGoogleフォームを作成
Googleドライブにアクセスし、「新規」ボタンから「Googleフォーム」を選択して新しいフォームを作成します。最初は何も設定されていない状態です。

スクリプトエディタを開く
フォームの右上にある縦に並んだ3点リーダーのアイコンをクリックし、メニューから「スクリプト エディタ」を選択します。

スクリプトを貼り付け
スクリプトエディタが開くと、最初から何かコードが入っている場合がありますが、それは全て削除して問題ありません。そこに、先ほどChatGPTからコピーしたGASスクリプトを貼り付けます。
貼り付けたら、忘れずにプロジェクトを保存します。名前を付けることも可能です。

スクリプトを実行
保存ボタンのすぐ右隣にある実行ボタン(▶のようなアイコン)をクリックします。

権限承認
スクリプトの初回実行時には、承認が必要だというダイアログが表示されます。「権限を承認」をクリックし、使用するGoogleアカウントを選択して「続行」を押します。

実行完了を待つ
スクリプトが実行されると、画面下部の実行ログに「お知らせ 実行開始」というメッセージが表示されます。その後、「お知らせ 実行完了」というメッセージが表示されるまで待ちます。

実行完了のメッセージが出たら、スクリプトの処理は成功です。
ステップ4:自動作成されたGoogleフォームを確認
スクリプトの実行が完了したら、Googleドライブに戻って確認してみましょう。
Googleドライブを見ると、先ほどはなかった新しいGoogleフォームファイルが増えているはずです。そのファイルをクリックして開いてください。
ファイル名は、ChatGPTが生成したスクリプトの中で自動的に付けられています。スクリプトの上部にその名前があるので、確認してください。
開いたフォームを見ると、ChatGPTが作成した問題が自動的に反映されていることが確認できます。
問題文、選択肢、そして解答形式(選択問題、短文解答問題)が設定されたクイズフォームが完成しています。

ただし、この段階で自動的に作成されたフォームは、回答ごとのフィードバック(正誤や解説など)が入っていない場合があります。回答を作成する設定にはなっていますが、中身は自分で入力する必要があります。
解答集とそのフィードバックも自動で入力したい場合、次の方法を取ることができます。
ステップ5:解答・フィードバックを自動で挿入する
回答ごとのフィードバックを含んだフォームを作成したい場合は、少し手順を追加します。
解答の形式を指定してChatGPTに依頼
再度ChatGPTに戻り、今度は選択問題それぞれの解答を、具体的なフィードバックとして記述するように依頼します。
選択問題それぞれに、解答集もつけてください。
例1)D. 中断 ちゅうだん interruption
すると、ChatGPTは指定した形式で選択問題1から7までの解答リストを作成してくれるはずです。

解答を含んだ新しいスクリプトを依頼
次に、解答集を組み込んだスクリプトを出すように、ChatGPTに依頼します。
上記の解答集を組み込んだGoogle forms のスクリプトを出してください
すると、ChatGPTは解答情報が含まれた新しいGASスクリプトを生成してくれます。
このスクリプトには、各問題のアンサーキー(回答)情報が含まれていることを確認してください。
新しいスクリプトでフォームを作成・実行
この新しいスクリプトをコピーし、再度Googleドライブで新しいGoogleフォームを作成します。
先ほどと同様に、フォームのスクリプトエディタを開き、既にあるコードを全て削除して、新しいスクリプトを貼り付けます。
保存→実行ボタンを押し、権限承認が必要な場合は同様に行います。
回答付きフォームを確認
実行が完了したら、Googleドライブに戻ります。
新しいフォームファイルを確認します (「語彙小テスト 解答付き」のような名前になっているはずです)。
このフォームを開き、問題を編集する画面で解答設定を確認してみてください。
すると、ChatGPTが生成した解答(フィードバック)が自動的に入力されていることが分かります。

これで、問題と解答・フィードバックが自動で設定されたクイズフォームが完成しました。
エラーが出た場合の対処法
ChatGPTが生成したスクリプトをそのまま貼り付けて実行した場合、エラーが発生することがあります。
エラーが出た場合は、表示されたエラーメッセージをコピーします。そして、ChatGPTに戻ってエラーメッセージをそのまま貼り付けて、修正をお願いしてみてください。
TypeError: FormApp.createFeedback(…).setDisplayText is not a function
(匿名) @ コード.gs:68
createVocabularyQuizFormWithAnswerKey @ コード.gs:54
このようなエラーが出るので、修正してください
ChatGPTは修正版のスクリプトを提示してくれます。ただし、修正したスクリプトをGoogleフォームに貼り直しても、再度エラーが出てしまうこともあります。
その場合も、エラーメッセージを再度ChatGPTに貼り付けて修正を依頼することを繰り返すと、正しいものを出してくれるはずです。
動画内では、2回修正を繰り返した後に最終的に成功しました。
エラーが何度も発生する場合は、ある程度まで自動でクイズを作ってもらい、残りを手動で修正した方が結果的に早く済む可能性もあります。
まとめ
この記事では、拡張機能を使わずに、ChatGPTで問題とGASスクリプトを作成し、Googleフォームに貼り付けて自動でクイズを作成する方法をご紹介しました。
問題作成からフォームへの反映、さらには解答・フィードバックの自動挿入まで、ほとんどの作業を自動化できて便利なので、ぜひご活用ください。
みなさまの準備・作業時間の短縮に役立つことを願っています!