初心者にも扱いやすい。各種サービス開発にも使える「Google Apps Script」について

 

 

Google Apps Script(=GAS)とは何か?

現在はWebアプリケーションを含む、広い意味でのWebサービスを利用することが一般的になっており、一昔前まではアプリケーションのパッケージを購入して利用していたものが、同じレベルの性能や機能を持ったツールをWeb上で使用できることが当たり前のようになっています。

世界のインターネット市場において、検索を始めとする様々な場面でメインストリームを担っていることは言わずとしれたGoogleですが、Googleも多くのWebサービスを提供しています。Gmail、Google Calendar、Google Drive、GoogleAppsと呼ばれる表計算ツール、プレゼンテーションツール、文書作成ツールなどが有名です。

これらのGoogle製Webアプリケーション群の使用に際して、横断した自動化や連携を生み出すための開発ツールがGoogle Apps Script(=GAS)です。Google Apps Scriptはいわゆる「ローコード開発」を目的としたツールで、「ローコード開発」とは、これまでは当たり前とされていた「プログラミングによるコーディング」を極力減らしてアプリケーションやサービスを開発する手法のことを言います。

Office系アプリケーションではスクリプトを使った自動化が以前から行われていますが、Google Apps ScriptはそれらをGoogle系アプリケーションやサービスで行うものだと理解しておけばよいでしょう。できることの一例としては、スプレッドシート内の文字列をボタンクリックのみで一括変換をさせたり、ワークシート上のデータをGmailに取り込み、宛先を抜き出してGmail上から送信内容を自動作成して送信することなどがあげられます。

GASの特徴

Google Apps Scriptの特徴としてあげられるのは、「Googleアカウント(=Gmailアカウント)があれば無料で使える」「セットアップ不要ですぐに使用開始可能」「JavaScript互換なので使いやすい」「マクロ機能を使ってノンコード開発が可能」という4点です。それぞれ解説していきます。

Gmailアカウントがあれば誰でも無料で使える

Google Apps ScriptはGoogleが提供しているサービスなので、他のGoogle系サービスと同様に、Googleアカウント=Gmailアカウントを持っている人であれば誰でも無料で使い始めることができます。もちろん、G Suite(GoogleApps)アカウントをお持ちの方も対象に含まれます。Google系サービス用のアカウントには「Google Workspaceアカウント(有料)」がありますが、この有料アカウント契約者がGoogle Apps Scriptを使う場合、イベントなどの作成件数上限が増加するなどの特典を受けることができますので、会社や開発チームでGoogle Apps Scriptを導入する場合は同時に有料のGoogle Workspaceアカウントを契約することも考慮してみると良いでしょう。

開発環境のセットアップが不要で、すぐに始められる

Google Apps ScriptはWebブラウザベースで動作する開発環境です。そのため、ローカル環境にアプリケーションをダウンロード&インストールしたりする必要はありませんし、使うためにPC側の環境設定を行ったり推奨スペックに合わせるといった作業を行う必要がありません。アクセス用URLを開いてログインするだけでWeb上のワークスペースを開いて作業を開始することができます。

JavaScript互換で覚えやすい

Google Apps ScriptではJavaScriptをベースにして、Google Apps Script専用の命令文がいくつか追加されたスクリプト言語を使用することができます。この言語を使ってGoogle Apps Script内でプログラムのコーディングを行うことになります。コーディングの際に使う基本的なプログラミング文法はJavaScriptのものが使えるため、JavaScriptを使えるプログラマーであれば時間をかけずに使いこなせるようになると言われています。

マクロ機能でノンコード開発ができる

Google Apps ScriptではMicrosoft Officeでも使われているようなマクロを使うことができます。Google Apps Scriptのインターフェース内には「マクロを記録する」というボタンがあるので、そのボタンをクリックすれば自動化プログラム=マクロを自動的に生成してくれるため、それまでプログラミングの経験が多くなかったり、専門のプログラマーとして働いているわけではない人でも使いやすい構造になっています。

複雑で高度な処理を実行するためのプログラムやマクロを作成するためには一定以上のプログラミング知識や経験が必要になりますが、例えば文字色を変更したり、表のセルで背景の色を変えるという比較的容易な部類の作業を自動化するだけであれば、自動化マクロのみで実現することが可能です。

 

 

Google Apps Script(=GAS)でできること

Google Apps Scriptを使ってできることをいくつかご紹介していきます。

Googleサービス上での処理を自動化

まず第一に、Googleが提供している各種サービスで行われる処理を自動化することができるようになります。例えばGmail、Googleスプレッドシート、Googleカレンダーで行う様々な処理を自動化することが可能です。一つ一つのサービス上で行われる処理を自動化するだけではなく、複数のGoogleサービスを横断させ、連携して自動化させることで、業務効率を高めることができるようになります。特筆すべきは、自分で考えた独自の処理内容を1つの「関数」として作成・登録しておき、それぞれのGoogleサービスから利用することも可能です。組み合わせた活用として代表的なものを箇条書きでご紹介しましょう

 

 

【活用例(1)】

Googleドライブに保存されているファイルに変更や更新があった場合にGmailへ通知する。

【活用例(2)】

Googleスプレッドシートの内容から、抜き出した情報を元にしてGmailでメールを作成し送信する。

【活用例(3)】

Googleカレンダーの予定やタスクを自動で登録し編集する。

【活用例(4)】

Googleフォームを自動で作成する。

【活用例(5)】

Googleフォームで、指定されたメールアドレス宛にフォームで入力された内容を自動的に送信する。

【活用例(6)】

Web上で自動収集した必要な情報を、Googleスプレッドシートに自動登録する。

代表的な6つの実例をご紹介しました。ご覧頂いたように、収集した情報を登録したり、集計した情報をメール送信機能と連携させて決められたアドレスに送信するような機能はGoogle Apps Scriptを使うことで大幅に既存のやり方と比較して時間を短縮することができますので、人的・時間的コストの大幅削減につなげることが可能です。

外部サービスとの連携

Google Apps ScriptはJavaScriptをベースにした言語で構築されているということはすでにご説明しました。もう一つの特徴として、APIを経由することで外部のWebサービスやアプリケーションと連携させることも可能になっています。

API=アプリケーション・プログラミング・インターフェースは、WebサービスやWebアプリケーションと外部を接続するために使われるインターフェースです。APIを利用することで、外部からWebサービスやWebアプリケーションを利用する際の要求を実行することができるようになります。

これを利用することで以下のような活用のしかたができるようになります。

【活用例(1)】

自動通知メッセージを、指定した時間にSlackへ送信する。

【活用例(2)】

Googleフォームに入力された内容を、SlackやChatWorkなどに自動送信する。

【活用例(3)】

Googleスプレッドシートに登録されているデータを抽出し、会計システム、会計ソフトなどに送信する。

Webアプリケーションを開発

すでにご紹介した2つの活用事例と比較した場合は少し高度なパターンの活用になりますが、Google Apps Scriptを使ってプログラムを作成し、そのままWebアプリケーションとして公開することも1つの活用事例です。Webアプリケーションの開発は、一般的には対応するプログラミング言語を使って独立したプログラムとして開発した後にWebサーバーを通じて公開するのが多いのですが、Google Apps Scriptの場合はJavaScriptがベースとなっているため、GASそのものを開発環境として活用することも可能です。

 

 

GASを利用する上での注意点

活用できる場面が多く、汎用性が高いという点が評価されているGoogle Apps Scriptですが、万能というわけではなく、制約事項も存在します。

その1つが「ローカルファイルの操作を行うことはできない」という点です。Google Apps Scriptを構成しているのはJavaScriptベースの互換言語=Webサービス・Webアプリケーション向けの言語なので、ローカルファイルの操作を行えないということになります。これはセキュリティ上の理由から来ていて、Web上からローカルファイルに対して自由にアクセスし操作を行えてしまうと、重大なセキュリティ問題担ってしまう可能性があるため、そのような操作は行えないようになっているのです。

したがって、もしローカルドライブ上にあるファイルをGoogle Apps Scriptで編集したい場合は、一度ローカルドライブからGoogleドライブへファイルをコピーするなりして保存し直す必要があります。

また、スクリプトを実行する場合に時間制限があるという点も覚えておく必要があります。スクリプトの実行が可能なのは1回あたり最大で6分。カスタム関数の実行時間に関しては、一回の処理につき最大で30秒までという制限が設けられています。これは無料アカウントの場合でも有料アカウントの場合でも変わらない制限になっており、時間制限を超えてしまった場合はスクリプトそのものが強制的に終了させられることになりますので注意が必要です。

GASの開発方式

Google Apps Scriptで開発を行う場合、「コンテナバインド型」か「スタンドアロン型」の2種類から開発方式を選んで行う必要があります。開発したいプログラムの種類によって選択すべき開発方式は異なります。

【コンテナバインド型】

Googleスプレッドシート、Googleドキュメント、Googleフォームに代表されるGoogleの各種サービスに紐付いたプログラムを開発したい場合に使用します。Microsoft Officeに付属するマクロやVBAとよく似ていると考えて良いでしょう。

特に、初心者の場合は「とりあえず使ってみよう」ということが多いと思います。そのような場合にはコンテナバインド型を選択するほうが推奨されます。スプレッドシート上でデータの入力・編集を行うだけだったり、Googleフォームの送信と何らかの処理をセットで実行させたい場合などはコンテナバインド型の方が良いと言われています。

【スタンドアロン型】

特定のGoogleサービスに紐付かない独立したプログラムを開発する場合はスタンドアロン型を使います。例えばGoogleスプレッドシートやGoogleドキュメントなどと直接連動しないプログラムを開発したい場合はこちらを使用することになりますが、スタンドアロン型で開発した場合も、Google系のWebサービスやWebアプリケーションを呼び出して実行することは可能なので問題はありません。

まとめ

ここまでGoogle Apps Scriptとはどんなものか?という基本的な部分から、Googleアカウントさえあれば誰でも無料で始められる、ハードルの低いサービスであるということや、構成されている言語がJavaScript由来の言語であることなどをご紹介してきました。また、ノンコード開発に向いていることや、外部サービスと連携できる柔軟性を兼ね備えていることもご説明してきました。この機会にGoogle Apps Scriptをしっかりと理解し、現場の開発環境に活かせるようであれば是非採用を検討してみてください。