わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

グループワークの結果メールを,Google Apps Scriptで

 毎年恒例の作業,2日程度で終わるかと思ったら,1週間かかりました.
 前期月曜演習科目の最終回,グループワークの完成披露のあと,各自で振り返りを行い,提出してもらった答案に対し,こちらからフィードバックのメールを送る作業です.「グループ得点×個人の貢献度」を算出し,メールの本文に入れています.グループ得点は最大40点,個人の貢献度は,きちんと活動をしていれば1で,そうでなければ減点します.
 作業は「グループと個人の状況をExcelのワークシートにする」と「ワークシートの内容から個人ごとにメールを作成して送る」に分かれます.前者は例年通りです*1.後者は,変更しないといけません.というのも,昨年度までは,独自のRubyスクリプトをもとに,自室で稼働させていたLinuxサーバにSMTPで接続して送付していたのですが,今春にメールサーバ機能を停止したのでした.
 前々から興味のあった,Google Apps Scriptで,メールを送ることにしました.Microsoft 365のアカウントではなく,Googleのサービスが使える生涯アカウント(COCOアカウント)を使用します.
 1通送るコード例は,検索すると容易に見つかりました.

 グループと個人の状況のExcelファイルは,Googleスプレッドシートとしてアップロードし,以下を参考に,スクリプトから参照するようにしました.

 値の獲得(そしてJavaScriptのコーディングを思い出すこと)と,メール本文の作成に2日を要し,テストメール(自分宛)と本番メール(各学生宛)は,今日の午後にコードを書いて実行しました.
 送信済みメールの本文を見て,ぎょっとしました.あるグループだけ,グループの評価の途中に「テスト」と書かれています.Googleスプレッドシートに,読み出し確認用にと「テスト」と書いていたのを,消し忘れていました.該当の学生には,手動でお詫びメールを送りました.

*1:なのですが,締切を最終回の翌日(火曜日)の正午にしたのに加えて,木曜の授業の最終回や,金曜の試験に時間をとられたため,Excelファイルにひととおりの内容を記載できたのは昨日の午前中になってしまいました.