GAS(Google Apps Script)とは? GASのメリットデメリット

GASとはGoogle Apps Scriptの略で、Googleが開発・提供しているプログラミング言語です。Webブラウザ上などで動作するJavaScriptというプログラミング言語をベースに作られています。
ExcelにおけるVBAのように、スプレッドシートなどのGoogleのサービスと連携して動かすことができるのが特徴で、他の言語に比ても使い始める敷居が低く、個人で使うには非常に手軽・便利な言語です。

 

GASのメリット

すぐ使い始められる

基本的にはGoogleアカウントを持っていて、スプレッドシートなどのGoogleのサービスにアクセスできるブラウザがあればすぐに使い始められます。スプレッドシート等と連携して(Googleのサーバで)動作するので、別途専用のサーバを用意したり、ソフトのインストールや各種設定をしたり、といった「開発環境を整える手間」というのが非常に少ないです。

Googleの各種サービスと連動できる

スプレッドシートと連携させて使うのが簡単お手軽で便利なのですが、Googleドキュメントやドライブ、Gmail、翻訳サービスといったGoogleのサービスと連動できるので使い方や発想次第でいろいろなことができるようになります。

データの入出力が楽

スプレッドシートとGASを組み合わせることで、初期データをスプレッドシートに入力してそれをスクリプトで利用したり、スクリプトの出力結果をスプレッドシートに出力したり、といったことが可能になります。ファイルの入出力に手間をかけたり、出力結果(ファイル)をやりとりする、といった手間が省けます。

共有できる

スプレッドシートの共有機能を使うことで、データの入力を非プログラマーの人に頼んだり、結果を閲覧したりといったことが可能になります。
作ったスクリプトを他の人が実行することも可能です(権限の許可等、導入設定は必要)。
トリガが使える
スプレッドシートの変更時、5分おき、特定の時間帯に実行、といった具合に「特定のタイミングでスクリプトを実行する」という「トリガ」機能が使えます。スクリプトを(定期的に)自動実行させるといった使い方が簡単に設定できるのは便利です。

GASのデメリット

サーバ側の動作制限がある

残念ながら「無限にGoogleのサーバ・リソースが使える」というわけではなく、スクリプトの実行時間や各種行動(ファイル作成や書きだし・呼び出し回数など)ある程度制限があります。
一番わかりやすいのは最大実行時間で「スクリプトの実行時間は6分間まで」という時間制限があり、6分を超えるとスクリプトが強制終了されます。大量のデータを一度に処理したり、外部APIの実行時に待ち時間が結構かかる、といった用途には難しかったり、処理上の工夫が必要になったりします。
他にも、ファイルの新規作成数や、1日トータルの実行時間の上限が90分まで、といったいくつかの上限がかけられています。
また実行する環境のメモリの上限もあるようで、複数のファイルの内容を結合して大きいデータを作ったり、といった作業には限界もあるようです。

※作成したスプレッドシートやスクリプトを共有して「他の人に使ってもらう場合」には、その人のアカウントで実行することになり、利用上限は実行する人のアカウントでの制限が適用されます。

ローカルファイルにアクセスできない

Webに公開されているデータや、API、GoogleDriveのデータなどにはアクセスできますが、PC内のローカルデータを読み書きする、といったことはできません。ローカルのファイルなどを扱いたい場合にはいったんGoogleDriveにアップロードする、といったひと工夫が必要になります。

複数人での開発

GASのスクリプトは実行する人のアカウント単位で実行されるのと、スクリプトやトリガの内容や実行権限を細かく管理する、といったことが出来ないので、集団でしっかり開発、という用途にはあまり向いていません。

とにかく始めてみよう

ということで、いくつかの注意点をふまえておけば、GASはすぐ始められるし面白いし、便利な面も多いと思います。

各種ドキュメントについて

インターネット上にも有用な情報が沢山公開されているので、それらを見るだけでもずいぶん参考になるのですが、GASは2020年2月にV8という新しいバージョンにアップデートされており、それ以前と以後で処理や動作が若干変わっているのでコードや情報が参考にできないケースがあります。特に外部ライブラリを使う場合にはV8登場以前に作られたもは原稿環境で動作しないことも多いので、2020年以前の記事を参考にする場合には注意が必要です。