GAS Form.addTextItemで教育現場の課題を解決!成績管理、出席管理を効率化
教育現場では、成績管理、出席管理、課題の配布と回収など、多くの業務に時間が費やされています。これらの業務を効率化するために、Google Apps Script(GAS)とGoogleフォームを連携させることで、大幅な時間短縮とミスの削減が期待できます。本記事では、GASのForm.addTextItem
関数に焦点を当て、教育現場での具体的な利用例と、業務課題を解決するための実装方法を解説します。
Form.addTextItemとは?
Form.addTextItem
は、Googleフォームにテキスト入力欄を追加するためのGASの関数です。この関数を利用することで、回答者に入力してもらうテキストフィールドを自由に作成できます。例えば、氏名、学籍番号、課題のタイトルなどを入力させる際に役立ちます。
基本的な使い方
Form.addTextItem(question)
引数question
には、質問内容のテキストを指定します。この関数は、作成されたテキスト項目のItem
オブジェクトを返します。
//フォームにテキストアイテムを追加する例
function addNameField() {
let form = FormApp.getActiveForm();
let nameItem = form.addTextItem("氏名を入力してください");
nameItem.setRequired(true); //必須項目に設定
}
教育現場でのForm.addTextItemの実装例
1. 成績管理アンケート
学生に自己評価や授業の理解度をアンケート形式で回答してもらい、成績評価の参考にします。Form.addTextItem
を使って、氏名、学籍番号、自己評価(自由記述)などの入力欄を作成します。
// 成績管理アンケートの例
function createGradeSurvey() {
let form = FormApp.create("成績管理アンケート");
form.setDescription("授業の理解度と自己評価をご記入ください。");
let nameItem = form.addTextItem("氏名").setRequired(true);
let studentIdItem = form.addTextItem("学籍番号").setRequired(true);
let understandingItem = form.addTextItem("授業の理解度(具体的に記述)");
understandingItem.setHelpText("例:〇〇の概念について理解できた。△△の部分はもう少し説明が欲しい。");
let selfEvaluationItem = form.addTextItem("自己評価(自由記述)");
selfEvaluationItem.setHelpText("例:授業に積極的に参加し、課題にも真剣に取り組んだ。");
Logger.log("公開URL: " + form.getPublishedUrl());
}
2. 出席管理フォーム
授業の開始時に、学生にフォームで出席を報告させます。Form.addTextItem
で氏名と学籍番号の入力欄を作成し、回答をスプレッドシートに記録します。
// 出席管理フォームの例
function createAttendanceForm() {
let form = FormApp.create("出席管理フォーム");
form.setDescription("授業への出席を報告してください。");
let nameItem = form.addTextItem("氏名").setRequired(true);
let studentIdItem = form.addTextItem("学籍番号").setRequired(true);
// フォームの回答をスプレッドシートに記録する設定
let ss = SpreadsheetApp.create("出席記録");
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
Logger.log("公開URL: " + form.getPublishedUrl());
}
3. 課題提出フォーム
学生に課題を提出させるためのフォームを作成します。Form.addTextItem
で氏名、学籍番号、課題名などの入力欄を作成し、ファイルアップロード項目と組み合わせて利用します。
// 課題提出フォームの例
function createAssignmentForm() {
let form = FormApp.create("課題提出フォーム");
form.setDescription("課題を提出してください。");
let nameItem = form.addTextItem("氏名").setRequired(true);
let studentIdItem = form.addTextItem("学籍番号").setRequired(true);
let assignmentTitleItem = form.addTextItem("課題名").setRequired(true);
let fileUploadItem = form.addFileItem("課題ファイル").setRequired(true);
Logger.log("公開URL: " + form.getPublishedUrl());
}
よくある問題とトラブルシューティング
- フォームが正常に作成されない:GASの実行権限が不足している可能性があります。スクリプトエディタで権限を確認し、許可してください。
- フォームの回答がスプレッドシートに記録されない:
form.setDestination()
の設定が正しいか確認してください。スプレッドシートのIDが間違っている可能性があります。 - 必須項目が設定できない:
item.setRequired(true)
が正しく記述されているか確認してください。
カスタマイズ方法と応用例
- 入力規則の追加:
item.setValidation()
を使って、入力されるテキストの形式を制限できます。例えば、学籍番号の形式を数字のみに制限することができます。 - 条件分岐:回答の内容に応じて、表示する質問を切り替えることができます。例えば、特定の科目の理解度が高い学生には、より高度な内容の質問を表示することができます。
- 自動採点:フォームの回答を自動的に採点し、結果を学生にフィードバックすることができます。
まとめ
GASのForm.addTextItem
関数は、教育現場における様々な業務を効率化するための強力なツールです。成績管理、出席管理、課題の配布と回収など、様々なシーンで活用できます。本記事で紹介したコード例を参考に、ぜひGASとGoogleフォームを連携させて、教育現場の業務効率化を実現してください。
CodeCampは、現役エンジニアからマンツーマンで学べるオンラインプログラミングスクールです。WebデザインやWebサービス開発、転職支援など、目的に合わせた多様なコースが選べます。
朝7時〜夜23時40分まで、365日レッスンが受けられるため、忙しい方でも自分のペースで学習を進めることが可能です。通過率8%の厳しい選考を通過した質の高い講師陣が、あなたのキャリアチェンジを強力にサポートします。
さらに、未経験者向けのカリキュラムや、学習開始から20日以内の全額返金保証制度もあるため、プログラミング学習に不安を感じている方でも安心して始めることができます。
CodeCampで理想の働き方を実現しよう