GAS Form.addMultipleChoiceItemで教育現場の課題を解決!成績管理、出席管理を効率化

Form.addMultipleChoiceItemで教育現場の課題を解決!成績管理、出席管理を効率化

教育現場では、成績管理、出席管理、課題配布など、様々な業務で多くの時間と労力が費やされています。特に、生徒の意見を収集したり、アンケートを実施したりする際には、手作業での集計や分析が必要となり、教員の負担は大きくなりがちです。
Google Apps Script(GAS)のForm.addMultipleChoiceItemを利用することで、これらの課題を解決し、教育現場における業務効率化を実現できます。

Form.addMultipleChoiceItemとは?

Form.addMultipleChoiceItemは、Googleフォームにラジオボタン形式の質問項目を追加するためのGASの関数です。この関数を使用することで、回答者は複数の選択肢の中から一つを選択することができます。教育現場では、以下のような用途で活用できます。

  • アンケートの実施(授業評価、進路希望調査など)
  • テストの作成(選択問題)
  • 意見収集(授業内容に関するフィードバック)

教育現場での実装例

1. 成績管理アンケートの作成

生徒の自己評価を収集し、成績評価の参考にすることができます。

function createGradeSurvey() {
// フォームを作成
const form = FormApp.create('自己評価アンケート');

// 回答の送信先スプレッドシートを指定
form.setDestination(FormApp.DestinationType.SPREADSHEET, SpreadsheetApp.getActiveSpreadsheet().getId());

// 質問項目を追加
form.addMultipleChoiceItem()
.setTitle('今回のテストの自己評価は?')
.setChoices([
form.createChoice('非常に良い'),
form.createChoice('良い'),
form.createChoice('普通'),
form.createChoice('あまり良くない'),
form.createChoice('非常に良くない')
])
.setRequired(true);

// フォームのURLをログに出力
Logger.log(form.getPublishedUrl());
}

このコードでは、FormApp.create()で新しいフォームを作成し、addMultipleChoiceItem()で自己評価を尋ねるラジオボタン形式の質問を追加しています。setChoices()で選択肢を設定し、setRequired(true)で必須項目に設定しています。

2. 出席管理フォームの作成

毎日の出欠確認をフォームで行い、自動的にスプレッドシートに記録することができます。

function createAttendanceForm() {
// フォームを作成
const form = FormApp.create('出席確認フォーム');

// 回答の送信先スプレッドシートを指定
form.setDestination(FormApp.DestinationType.SPREADSHEET, SpreadsheetApp.getActiveSpreadsheet().getId());

// 質問項目を追加
form.addMultipleChoiceItem()
.setTitle('出席状況')
.setChoices([
form.createChoice('出席'),
form.createChoice('欠席'),
form.createChoice('遅刻')
])
.setRequired(true);

// フォームのURLをログに出力
Logger.log(form.getPublishedUrl());
}

このコードでは、同様にフォームを作成し、出席状況を尋ねる質問を追加しています。選択肢として「出席」「欠席」「遅刻」を用意しています。

3. 課題提出状況アンケートの作成

課題の提出状況を生徒に自己申告させ、未提出者を把握するのに役立ちます。

function createAssignmentSubmissionForm() {
// フォームを作成
const form = FormApp.create('課題提出状況アンケート');

// 回答の送信先スプレッドシートを指定
form.setDestination(FormApp.DestinationType.SPREADSHEET, SpreadsheetApp.getActiveSpreadsheet().getId());

// 質問項目を追加
form.addMultipleChoiceItem()
.setTitle('課題は提出しましたか?')
.setChoices([
form.createChoice('提出済み'),
form.createChoice('未提出'),
])
.setRequired(true);

// フォームのURLをログに出力
Logger.log(form.getPublishedUrl());
}

このコードでは、課題の提出状況を尋ねる質問を追加しています。選択肢として「提出済み」「未提出」を用意しています。

よくある問題とトラブルシューティング

1. フォームのURLが取得できない

form.getPublishedUrl()でURLを取得できない場合、フォームが公開されているか確認してください。また、GASの実行権限が正しく設定されているか確認してください。

2. スプレッドシートに回答が記録されない

form.setDestination()で指定したスプレッドシートのIDが正しいか確認してください。また、スプレッドシートへの書き込み権限がGASに付与されているか確認してください。

カスタマイズ方法と応用例

1. 回答に応じて処理を分岐する

フォームの回答に応じて、自動的にメールを送信したり、スプレッドシートのデータを更新したりすることができます。例えば、欠席を選択した生徒に対して、自動的に課題をメールで送信するなどが可能です。

2. フォームのデザインをカスタマイズする

FormAppのメソッドを使用することで、フォームの色やフォントなどをカスタマイズすることができます。これにより、学校のブランドイメージに合わせたフォームを作成することができます。

まとめ

GASのForm.addMultipleChoiceItemを利用することで、教育現場における様々な業務を効率化することができます。成績管理、出席管理、課題配布など、様々なシーンで活用できるため、ぜひ導入を検討してみてください。