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

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

教育現場では、成績管理、出席管理、課題配布など、多くの業務を手作業で行っている現状があります。これらの業務は時間と労力を必要とし、教員の負担を増大させる要因となっています。本記事では、Google Apps Script (GAS) の Form.addListItem() 関数を活用し、これらの課題を解決する方法を解説します。具体的には、生徒の回答フォームを自動生成し、成績管理や出席管理を効率化する実装例を紹介します。

Form.addListItem() の基本

Form.addListItem() は、Googleフォームにリスト形式の質問項目を追加するためのGAS関数です。この関数を使用することで、フォームの選択肢を動的に変更したり、大量の選択肢を効率的に追加したりすることができます。

構文

Form.addListItem(title)

  • title: 質問項目のタイトル (文字列)

戻り値

ListItem オブジェクト

教育現場での Form.addListItem() の活用例

教育現場では、Form.addListItem() を活用することで、以下のような業務を効率化できます。

  • 成績管理: テストの回答フォームを自動生成し、生徒の回答をスプレッドシートに自動的に集計する。
  • 出席管理: 毎日の出席確認フォームを自動生成し、生徒の出席状況をリアルタイムで把握する。
  • 課題配布: 課題の提出フォームを自動生成し、生徒の課題提出状況を一覧で確認する。

実装例:テストの回答フォーム自動生成

以下のコードは、Form.addListItem() を使用して、テストの回答フォームを自動生成する例です。

function createTestForm() {
// フォームを作成
const form = FormApp.create('テスト回答フォーム');

// 質問を追加
const question1 = form.addListItem('問題1: 選択肢を選んでください');
question1.setChoices([
question1.createChoice('選択肢A'),
question1.createChoice('選択肢B'),
question1.createChoice('選択肢C'),
question1.createChoice('選択肢D')
]);

// フォームを公開
Logger.log('フォームのURL: ' + form.getPublishedUrl());
}

このコードを実行すると、「テスト回答フォーム」という名前のGoogleフォームが作成され、4つの選択肢を持つリスト形式の質問が追加されます。

実装例:出席管理フォームの自動生成

以下のコードは、Form.addListItem() を使用して、毎日の出席管理フォームを自動生成する例です。

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

// 出席状況の質問を追加
const attendanceStatus = form.addListItem('出席状況を選択してください');
attendanceStatus.setChoices([
attendanceStatus.createChoice('出席'),
attendanceStatus.createChoice('欠席'),
attendanceStatus.createChoice('早退')
]);

// フォームを公開
Logger.log('フォームのURL: ' + form.getPublishedUrl());
}

このコードを実行すると、「出席確認フォーム」という名前のGoogleフォームが作成され、「出席」「欠席」「遅刻」「早退」の選択肢を持つリスト形式の質問が追加されます。

実装例:課題提出フォームの自動生成

以下のコードは、Form.addListItem() を使用して、課題提出フォームを自動生成する例です。

function createAssignmentForm() {
// フォームを作成
const form = FormApp.create('課題提出フォーム');

// 氏名の質問を追加
form.addTextItem('氏名').setRequired(true);

// 課題名の質問を追加
const assignmentName = form.addListItem('課題名を選択してください');
assignmentName.setChoices([
assignmentName.createChoice('課題A'),
assignmentName.createChoice('課題B'),
assignmentName.createChoice('課題C')
]);

// ファイルアップロードの質問を追加
form.addFileItem('課題ファイルをアップロードしてください').setRequired(true);

// フォームを公開
Logger.log('フォームのURL: ' + form.getPublishedUrl());
}

このコードを実行すると、「課題提出フォーム」という名前のGoogleフォームが作成され、氏名、課題名(リスト形式)、ファイルアップロードの質問が追加されます。

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

  • フォームが作成されない: GASの実行権限が許可されているか確認してください。
  • 選択肢が追加されない: createChoice() メソッドが正しく使用されているか確認してください。
  • フォームのURLが表示されない: Logger.log() で出力されたURLが正しいか確認してください。

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

  • 選択肢の動的な変更: スプレッドシートのデータに基づいて、フォームの選択肢を動的に変更することができます。
  • 回答の自動集計: フォームの回答をスプレッドシートに自動的に集計し、グラフを作成することができます。
  • 条件分岐: 回答内容に応じて、異なる質問を表示することができます。

まとめ

Form.addListItem() は、教育現場における様々な業務を効率化するための強力なツールです。本記事で紹介した実装例を参考に、ぜひ Form.addListItem() を活用して、教育現場の課題解決に役立ててください。

PR

CodeCampは、現役エンジニアからマンツーマンで学べるオンラインプログラミングスクールです。WebデザインやWebサービス開発、転職支援など、目的に合わせた多様なコースが選べます。
朝7時〜夜23時40分まで、365日レッスンが受けられるため、忙しい方でも自分のペースで学習を進めることが可能です。通過率8%の厳しい選考を通過した質の高い講師陣が、あなたのキャリアチェンジを強力にサポートします。
さらに、未経験者向けのカリキュラムや、学習開始から20日以内の全額返金保証制度もあるため、プログラミング学習に不安を感じている方でも安心して始めることができます。

CodeCampで理想の働き方を実現しよう