Google Apps Scriptって何?

皆さんの中に、「Googleのサービスは一切使ってない」という人はいますか? おそらく一人もいないんじゃないでしょうか。G Suite(Googleが提供するビジネススィート)などは使っていない人も多いでしょうが、GmailやGoogleマップを使ってない人は珍しいでしょう。

こうしたGoogleが提供するサービスには、共通するユニークな特徴があります。それは「共通のスクリプト言語でプログラミングすることができる」という点です。その共通言語が「Google Apps Script」です。

Google Apps Script(以後はGASと略します)ってどんな言語なんだろう? と思った人。実をいえば、これは「JavaScript」なんです。JavaScriptに独自のライブラリなどを追加してGoogleサービスにアクセスできるようにしたものなんですね。ですから、JavaScriptがある程度わかれば、比較的簡単に使えるようになります。

GASで何ができる?

このGASが使えるようになったら、何が便利なんでしょうか。どんなことができるのでしょうか。もちろんプログラミング言語ですから「使い方次第」なんですが、例えばこんなことができるようになります。

G Suiteアプリの操作の自動化
スプレッドシートやドキュメント、スライドなどで定型的な処理を自動で行わせることができます。いわばG Suiteアプリの「マクロ」機能としての役割ですね。

アプリの連携処理
例えばメールの内容を整理してスプレッドシートにまとめる、カレンダーから今週の予定をピックアップしてメールで送る、といいうように、あるGoogleのサービスから別のサービスへと複数のサービスが連携して処理を行うことができます。

G Suiteアプリの拡張
例えばスプレッドシートなどに独自のメニューを追加したり、Gmailのプラグインを作って組み込むなどしてアプリの機能を独自に拡張することができます。

Webアプリ開発
本格的なWebアプリを開発し公開することもできます。もちろん、その中ではGoogleのサービスを利用した処理を組み込むことができます。

Googleが提供するクラウドサービスへのアクセス
例えばクラウドデータベースなど、Googleが開発者向けに提供する本格的な機能を利用して、普通にG Suiteアプリを使うだけではできないような高度な処理を行わせることもできます。

ちょっとしたマクロ機能から、Googleの開発者向けの高度なクラウドサービスまで、さまざまなレベルで利用できるのがGASの強みです。まずは誰でも作れるレベルのものから試してみて、慣れてくるに従いより高度な機能が利用できるようになる、というわけです。

スクリプトを書く方法は2つ!

では、このGASどのようにして利用するのでしょうか。

GASに対応したGoogleのサービスの中には、「スクリプトエディタ」というメニューが用意されているものがあります。G SuiteのアプリであるGoogleドキュメントやGoogleスプレッドシートなどがそうです。これらのサービスでは「ツール」メニューの中にある「スクリプトエディタ」というメニュー項目を選ぶと専用のエディタが開かれます。

  • 図1:Googleドキュメントの「ツール」メニュー。「スクリプトエディタ」という項目が用意されている

Gmailなどのサービスでは、このようなメニューはありません。こうしたものでは、GASのファイル(プロジェクトといいます)を直接作成してスクリプトを作成します。これは通常、Googleドライブで行います。

Googleドライブの左上にある「新規」ボタンをクリックし、「その他」のサブメニューから「Google Apps Script」を選ぶと、新たなGASのプロジェクトが作成され、Googleドキュメントの「スクリプトエディタ」メニューを選んだのと同じように専用のエディタが開かれます。

といっても、「そんなメニュー、ないぞ?」という人もいることでしょう。この「Google Apps Script」メニューは、オプションで用意される項目なので、自分で追加しないといけないのです。

Googleドライブの「新規」ボタンで現れるメニューで、「その他」のサブメニューにある「アプリを追加」というメニュー項目を選んで下さい。画面に「ドライブにアプリを追加」というダイアログが現れます。

ダイアログの右上にある検索フィールドから「google apps script」と入力し検索をします。そして「Google Apps Script」という項目が見つかったら、「接続する」ボタンを押して下さい。

これで「新規」メニューの「その他」内に「Google Apps Script」というメニュー項目が追加されます。以後は、いつでもこのメニューを選ぶだけでGASのスクリプトを作れるようになります。

  • 図2:「ドライブにアプリを追加」ダイアログで、Google Apps Scriptを検索し接続する

スクリプトエディタを使おう

GASのプロジェクトは、「スクリプトエディタ」と呼ばれる専用のツールで開かれます。このスクリプトエディタの画面は、大きく3つの部分に分かれています。

メニューバー/ツールバーエリア
上部には、ファイル名、メニューバー、ツールバーといったものが表示されるエリアがあります。ここにあるメニューやツールアイコンを使ってスクリプトを操作します。

ファイル管理エリア
その下の左側には、「コード.gs」と表示されたエリアがあります。これは、プロジェクトに用意されているファイル類を管理するものです。プロジェクトでは、いくつものファイルをよういしりようすることができます。デフォルトでは、「コード.gs」というGASのスクリプトを記述するスクリプトファイルが1つだけ用意されています。

エディタエリア
このエリアに表示されているファイルをクリックして開くと、その右側にファイルの内容を編集するためのエディタが表示されます。初期状態では、「コード.gs」がエディタで開かれています。

GASのスクリプトを編集するエディタは、一般的なテキストエディタよりも高機能です。記述したスクリプトの単語を役割ごとに色分け表示したり、構文に応じて自動的にインデント(分の開始位置を右にずらすこと)を行ったりしてくれます。また入力中は、必要に応じて利用できる関数やオブジェクトなどをポップアップ表示してくれます。入力を支援する様々な機能が用意されているので、慣れればかなり快適にスクリプトを記述できるでしょう。

  • 図3:GASのスクリプトエディタ。デフォルトでは「コード.gs」というスクリプトファイルが開かれている

スクリプトを書いて実行!

では、実際にスクリプトを書いて動かしてみましょう。Googleドライブで、「新規」ボタンから、先ほど追加した「Google Apps Script」メニューを選び、新しいGASのプロジェクトを開いて下さい。そしてスクリプトエディタが現れたら、一番上の「無題のプロジェクト」という部分をクリックしてプロジェクトの名前を入力しておきましょう。

  • 図4:プロジェクトの名前を入力する

コード.gsには、デフォルトで以下のようなスクリプトが書かれています。


function myFunction() {

}

JavaScriptを多少かじったことがあるなら、これは「myFunction」という関数を定義するものであることがわかるでしょう。GASでは、スクリプトはすべて関数の形で定義します。では、このmyFunction関数に簡単な文を追記してみましょう。


function myFunction() {
  Logger.log("Hello Google Apps Script!");
}

記述したら、実行してみましょう。ツールバーの「実行」アイコン(虫のアイコンの左にある▼アイコン)をクリックするか、「実行」→「関数を実行」→「myFunction」とメニューを選びます。これでmyFunction関数を実行できます。

実行したら、「表示」メニューから「ログ」を選んで下さい。画面に、実行時に出力されるログ情報を表示するダイアログが現れます。ここに「Hello Google Apps Script!」というテキストが表示されます。そう、今のスクリプトは、ログにメッセージを出力する、というものだったのです。これは以下のように記述して行います。


Logger.log( 表示するメッセージ );
このログ出力は、スクリプトの実行結果を表示したりデバッグに使ったりといろいろ利用します。ここで是非覚えておきましょう。

alert関数は使えない?

皆さんの中には、「JavaScriptと同じだったら、alert関数とかで表示したほうがわかりやすいのに」と思った人もいるかも知れません。が、これはできません。GASでは、alert関数は使えないのです。

GASは、JavaScriptと同じものだ、といいましたが、Webページに書かれるJavaScriptとは決定的な違いが1つだけあります。それは「サーバー側で実行される」という点です。

普通のJavaScriptは、HTMLの中にスクリプトを記述し、Webブラウザの中で実行されます。Webページを操作したり、alertでアラートを表示したりするのも、すべてWebブラウザに組み込まれているJavaScriptの機能なのです。

GASは、Googleのクラウド環境にあるサーバーの中で実行されます。ということは、WebブラウザにあるJavaScriptの機能はすべて使えない、ということなのです。Webページの画面を操作することもできないし、JavaScriptのアラートを呼び出したりすることも、Webブラウザを操作することもできません。

では、何ができるのか? それは、「Googleのサービスを操作すること」です。そのために作られたものなんですから。

では、次回からさっそくGoogleのサービスを利用していきましょう。