生徒管理システム スクリプトの説明
それぞれの用途に関しては使用者向けドキュメントの方を確認.
tna-system-memo.hatenadiary.com
基本的にタイムトリガー,ボタンに依る呼び出しはなく,すべて上部メニューから機能は使われるようになっている.支援員からの報告を受け取って反映する部分のみ,Formからの受信に対して呼び出されるトリガーが付いている.
main system
aboutGmail.gs
全拠点不参加に依る休講の講師への連絡,一拠点不参加のときの講師への連絡(いまはとまっている),保護者へのメール,エラーを把握するための社員と自分へのメールなど.
aboutUI.gs
メニューに機能を追加することと,それぞれの簡単な質問のやり取りが載っている. すべての生成をするときの確認メッセージ,特定の生成する時になに生成するかの質問,生徒の追加をする際のどれに対して行うかの質問.
addStudent.gs
既存の授業の生徒管理システムに生徒を追加する場合(生徒名簿に追加したところでフォームやシステムには反映されない.)に使用するやつ.addStudent_coreがメイン.その中で,名簿への追加,SSへの追加,生徒への追加を行っている.
createSystem.gs
システムの生成を行う.main()がメイン.createManagementoSystemForAllClasses
, createManagementSystemForOneClass
はその上でそれを用いている感じ.main関数の中にコメントしてあるがその中で,
function main(class_name, meibo_sheet){ //meibo_sheetから生徒リストの取得. 全てのデータを取得すると保護者アドレスが入っている場合があるので弾く. var class_students = meibo_sheet.getDataRange().getValues() for (var i=0; i<class_students.length; i++){ class_students[i] = class_students[i].slice(0, 2) } //同一の授業名が既存でないかのチェック,既存なら上書き仕様. resetClass(class_name) //①授業名と生徒リストからフォームを作成 var class_form = createClassForm(class_name, class_students) //②フォームをメインシートに紐付ける.紐付けたシート名を授業名にする. connectClassForm(class_name, class_form) //③授業名と生徒リストからスプレッドシートを作成し,ssidをデータベースに保存しておく var class_ss = createClassSS(class_name, class_students) //(+)フォームの確認メッセージに作成したスプレッドシートのurlを入れる. setMessageToForm(class_form, class_ss) //④teachers_listに,作成した授業名がなければその枠を新たに作成. insertToTeachersList(class_name) }
receiveAbsent.gs
支援員の報告を受け取る.
function receiveAbsent() { //①フォーム入力によりActiveとなった授業名の取得,受け取ったアイテムの取得 var class_name = SpreadsheetApp.getActiveSheet().getSheetName() var itemResponses = SpreadsheetApp.getActiveRange().getValues()[0] //②授業名から日付と生徒名リストについて取得 var DNList = getDateNameList(class_name) //③欠席者(複数名も含む)の座標を取得 var coord = getCoord(itemResponses, DNList) //④欠席者に対して処理.その後メールが必要であれば送信. setcheck(coord, class_name) }
searchTeacher.gs
月,日,拠点,学年教科を用いて授業管理シートから講師を取得し,classシートからアドレスを取得.
students_list (生徒名簿)
授業シート1枚ずつが各授業になっており,生徒が入っている.
aboutUI.gs
生徒管理システムに不具合を起こさないため,授業シートの追加のみシステムで行っており,授業管理シートのclassシートにきちんと該当する授業があるかのチェックを行っている.
form&ss URL自動収集ツール
まとめサイトのために生成された既存のform&ssを抽出してくるツール.