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