みなさんこんにちは。
CTOとは仮の姿、実体は社内インフラエンジニアのmisawatさんです。
皆さんの施設では、経費の管理とか、採用の管理とか、教育の管理とかどうしてますか?
エンジニアオンリーの施設であれば、ガシガシコーディングして、自動化!自動化ぁ!!自動化ァァァ!!!という方向に持って行きたくなりますが、
実際に各種管理ファイルを扱うのは事務系の方だったりします。
その場合、何かエラーが起きたら都度技術側で対処しなくてはいけなくなり、言わば社内サポート窓口の開設が必要になってしまいます。
楽するために自動化するのに、手間が増えたら本末転倒ですね。
何が言いたいかというと、部門横断的に扱うファイルは、誰もが扱えるものであることが望ましいということです。
一昔前はExcelを使ってる企業が多かったですが、基本ローカル管理で不便なので、セキュリティ面から考えてもクラウド化の流れになってますね。
誰もが扱えるツール + コーディング!
そこで、弊社では一部の管理ファイルはGoogleSpreadSheetを使っています。
(タスク管理やコード管理といったエンジニアオンリーの場合は、それぞれTrelloやGitHubのような今風の外部ツールを使ってますよ!)
GoogleSpreadSheet、無料で使えるツールとは思えないほどの高機能ですが、結局の所、ただの表計算ソフトであることに変わりはないため、
柔軟な処理をさせようとすると、多少のコーディングが必要になります。
Excelでは「マクロ」と呼ばれているやつですね。
GoogleSpreadSheetでは、よりプログラムよりのツールが提供されており、その名を「Google Apps Script(GAS)」といいます。
GASの特徴
GASですが、JavaScriptをベースに開発された言語です。
というかもはやJavaScriptです。
特徴としては、
スクリプト単体(スタンドアロンスクリプト)の他に、GoogleSpreadSheet等への紐付け(コンテナバインドスクリプト)を行う事ができる。
GoogleSpreadSheet側で用意されてる関数(SUM()とか)との組み合わせることが出来る。(
getFormulas
関数とかあるので)
- 開発環境(というかスクリプトエディタ)が用意されてる。
- APIの公開が簡単
パッと思いつくのはこの辺ですかね。
一つ注意しないといけないのは🚨
ベースにしているJavaScriptのバージョンが古いので、
JavaScriptでは出来るのにGASでは出来ない!ってのが頻発するのと、
一番困るのが、実行時間の上限が30分(昔は6分だったらしい)ってことですね。
前者はアルゴリズムの見直しでどうにもなるけど、
後者は、どうにもならない。
プログラムに息継ぎのコードを入れるという不毛なことをせざるを得ない。・・・と思ってる。
コメント、☆、チャンネル登録もよろしくね
次回以降、コードも交えて、少し社内管理よりのGASの活用例を紹介していこうかな!(気が向いたら)