GAS で自動化を!
先月末に、「GAS を使ってフォームを操る!」と称した GEG Toyama のイベント(オンラインセミナー)で、GAS について話をさせていただきました。
どんな内容だったのかは、上記 URL のサイトに使用した資料(スライド + スプレッドシート)を掲載してあるのでご覧ください。
いろんな期待を持った方々 30名以上が参加されましたが、GAS ではどんなことができるんでしょうか?
GAS でできること
GAS(Google Apps Script)は、
Google のサービス/アプリ上での操作を自動化できる。
※Jamboard のようにアプリ内の操作は行えないものもある。Web API によって、Google 以外の外部のサービスとの連携(データのやり取り)を行える。
※Web API を提供してくれていれば連携可能HTML によるページも作成でき、Web アプリなども作成可能。
と大掛かりなプログラムも作成できるものの、
端末のファイルを直接操作できない。
Google ドライブ上にファイルをアップロードすれば、そのファイルは扱えるが、端末のローカルストレージにある状態では扱えない。一度に実行できる時間に制限がある。
別の記事でも触れていますが、一度に実行できる時間には制限があるため、その制限時間内で分割して処理しなければなりません。
といった制限が課せられています。この辺りは、サーバー側で実行されるプログラムであることや、JavaScript ベースのプログラムであることが起因しているものです。
この辺りについては、以下のサイトに要約されていたので、追加で確認すると理解が深まると思います。
どんなことが得意?
前項までの内容だと、制限はあるもののいろんなことができるように思えますが、GAS で「どんなことをしたらいいの?」と聞かれたら、
Google のアプリ/サービスや、Web API で連携できるサービスで
同じことを何度もくり返す
例:クラスの児童生徒ごとに課題となるファイルを用意する決められた手順で操作する
例:そのタイミングでは一度しか操作しないが、日を改めて同じ手順の操作を行う
といったケースに有用なんじゃないか、と思っています。
これらの有用なケースって、授業準備や、提出物の整理が多いんじゃないかと思います。
Google スプレッドシートの中だけで行う操作であれば、マクロとして記録するのもいいと思います。
マクロでは、「絶対参照」と「相対参照」を切り替えることはでき、工夫すればいろんなことが記憶させられるものの、複雑な操作になるほど一度の記録でマクロにするのは困難になってくるし、Google スプレッドシート以外のアプリやサービスも関係してくると、マクロでは対応できなくなります。
マクロで記録した内容は、GAS のプログラムとして記録されているので、記録された内容をベースにプログラムするのもいいと思います。
どんなことができるのかは、Google が用意している GAS についてのサイトを確認するのもいいと思います。
このサイトの中にあるリファレンスが、できることの基本とも言えます。
基本は英語で提供されているコンテンツですが、ページ右上の言語選択で「日本語」にも切り替えられるので、英語が苦手でも何とかなります。
実現しない方がいいこと
GAS でいろんなことができるものの、わたし自身が教員自身が作成する GAS のプログラムで実現しない方がいいと思っているのは、
「○○システム」と称される規模のプログラム
校務支援システムと競合する内容のプログラム
です。
後者については、現時点で、校務支援システムが導入されていないのであれば、システム化されることによるメリットを実感するためであればいいと思いますが、実際に運用するためのプログラムを教員が作るのはやめた方がいいと思うのです。
わたしが思うに、線引きは難しいと思うのですが、「システム」と称される規模のプログラムは避け、「ツール」と称される規模のプログラムにとどめておいた方がいいと思っています。
前者も含めて「○○システム」と称される規模のプログラムを、本職のエンジニアではなく、専任の担当者でもない教員が作ったとして、その後の運用やメンテナンスは大丈夫なのでしょうか?
そのプログラムを作った人が異動などでいなくなったとしても、運用し続けられますか?
他の学校からも使いたいと言われたとして、他校の状況に合わせたカスタマイズができるでしょうか?
ちゃんとした業者は、お金によって管理・運用しやすいように仕様を文書化し、持続可能な状態にしてくれるはずです。
といった感じです。
恐らく、教員が学校で利用する「○○システム」というのは、いわゆる校務支援システムなんだと思いますが、そういった大規模なシステムはお金で解決した方がいいと思います。その方が安心して使えますし、維持できます。もちろん、維持費も必要になりますが…
その導入されたシステムが、内部的に GAS を使っていたとしても、専門の業者が作ったものであれば、何かトラブルや仕様変更があっても対応してくれるでしょうから安心です。
GAS で実現するのは、作業の自動化であって「ツール(ツール群)の整備」といった感じだと思います。さらに規模が大きくなって「システムの構築」といった感じになるのは、責任や持続性についても考えた方がいいんじゃないかと思います。
最後に
わたし自身は、GAS によって Google for Education を導入した学校現場がより便利になってくれればいいな、と思っています。GAS によって学校現場の先生方が面倒な操作が自動化され、楽になってくれることを願っています。
しかしながら、それによってある担当者が不幸になって欲しくもないのです… 単純に仕事を楽にするために GAS を使ってほしいのです!