授業管理シート内スクリプト 説明

はじめに

関数の呼ばれ方

他の関数から呼ばれてもいない関数はどこから呼ばれているのか. 関数が隠れている場所の見つけ方.

大きくわけてタイプは以下の3つ.

  1. ボタン: 右クリックメニューで紐づけされている.
  2. 上部メニューをプログラムから生成: "aboutUI.gs"プログラムで紐づけ.
  3. タイムトリガー: 紐付けられているアカウントでしか確認できないことに注意.

スクリプトのある場所

授業管理シートとかの上部メニュー「ツール」 > 「スクリプトエディタ」

以下,現時点でのプロジェクト別にそれぞれの関数の説明.

「Database」

授業管理シート自体の管理のためのスクリプト.データベースを管理するためのスクリプト.データの出し入れを扱う.

管理として以下の4つに大別される.

  • シートの新規作成
  • 授業の追加
  • 授業の変更: 代講.
  • 授業の削除: (実際に消す,という処理はしない.)休講/直前キャンセルのセッティング.

CreateMonthSheet.gs

  • 月次シート作成
  • [紐づけ] aboutUIで上部メニューに挿入.

AddClass.gs

  • 作成済み月次シートの授業の追加
  • [紐づけ] aboutUIで上部メニューに挿入.

ChangeTeacher.gs

  • 代講
  • [紐づけ] ボタン

実際は代講用のSSが判断してやってる.

setKyuukou.gs

  • 休講のセッティング
  • [紐づけ] aboutUIで上部メニューに挿入.

「Reminder」

MorningReminder.gs

daylyMail関数が,何故か伝統的にスペルが間違っているスクリプト.なぜかは知らないが訂正しない.

  • 朝の授業リマインド
  • [紐づけ] タイムトリガー by tna.reminderアカウント

TaskReminder.gs

  • angry bot
  • [紐づけ] タイムトリガー by tna.angryアカウント

ReportCheck.gs

  • スタッフ講師の拠点リーダーに毎日レポートを送信しているぽい.必要?
  • [紐づけ] タイムトリガー by tna.teachersアカウント

授業管理シート以外のSSに接続する必要のある検索用のスクリプト

DailyReport.gs

  • 授業レポート閲覧用
  • [紐づけ] ボタン

Alternative.gs

  • 代講依頼閲覧用
  • [紐づけ] ボタン

「Tools」

便利機能のためのスクリプト

confirm_myclasses.gs

createReport.gs

  • レポート記入する際に管理シートから判断できる内容については自動で入力できる便利機能.
  • [紐づけ] ボタン

displayRobot.gs

  • ロボットチームに頼まれて作成したスクリプト
  • [紐づけ] aboutUIで上部メニューに挿入.

kyotenReport.gs

「各所レポート作成」

挙動としては授業管理シートの'daiyReport'というシートに報告を穴埋めして,複製,シート名をつける.'dailyReport'を最後にクリア

  • 経理さんが月に一度使用
  • [紐づけ] aboutUIで上部メニューに挿入.

コードを増やす際の注意.

  • 基本的におこなう内容によって,カテゴリ別に プロジェクト を分けて管理してほしい.どこに何があるのか引き継いでいくシステム担当の人がわからんくなる.

  • その中で機能ごとに ファイル を分けてほしい.イメージとしては1つのファイルに1説明つくような感じ.

  • その1つのファイル内でも1関数でごちゃごちゃ書くんじゃなくて,同じ処理はまとめて 関数 にするとか,関数にすることで1つの意味付け,名前付けするとかにしてほしい.

最終的にはなにか探したいときにツリー状に迷わず探しに行ける感じの雰囲気の構成を目標にするイメージ.