GASのコンテナバインドスクリプトとスタンドアロンスクリプト比較!メリット・デメリット解説

Google Apps Script(GAS)のプロジェクトにはスプレッドシートやフォームに紐付くコンテナバインドスクリプトと、独立したスタンドアロンスクリプトの2種類があります。

コンテナバインドとスタンドアロンの2つのGASプロジェクトについて、それぞれの特徴とメリット・デメリットを比較し、紹介したいと思います。

Google Apps Scriptに2種類の方式

Google Apps Script(GAS)には大きく分けて2種類のプロジェクトがあります。

  • コンテナバインドスクリプト
  • スタンドアロンスクリプト

どちらも同じようにGASスクリプトエディタでコードを記述して、GASによる処理ができます。

ただ、コンテナバインドスクリプトとスタンドアロンスクリプトはほとんど同じではあるものの、スプレッドシートなどのGoogleサービスの各種ファイルとGASプロジェクトの関係性が異なります。

それによって、それぞれでスクリプトエディタの開き方や、コードで使用できるコマンドに違いがあります。

GASのコンテナバインドスクリプトとは

コンテナバインドスクリプトは、スプレッドシートやドキュメント、フォームなどのGoogleのサービスに紐づく、Google Apps Script(GAS)のスクリプトです。

スプレッドシートのメニューにある「拡張機能>Apps Script」を選択すると、コンテナバインド型のGASプロジェクトが作成されます。

Chromeブラウザで新しいタブでGASのスクリプトエディタに無題のプロジェクトが表示されます。

GASを始める場合は、スプレッドシートをベースにすることが多いです。

スプレッドシートからGASのプロジェクトを編集することができます。

再度コンテナバインドスクリプトを開きたい場合は

作成したGoogle Apps Script(GAS)のコンテナバインドスクリプトを開く場合は、再び同じように「拡張機能>Apps Script」を選択します。

一度作成したあとは、スプレッドシートからいつでもGASを開いて編集可能です。

コンテナバインド型のみ使えるGASコマンドも

コンテナバインド型のGoogle Apps Scriptでは、スタンドアロン型では使用できないコマンドを使用することができます。

上記のコマンドは、後述するスタンドアロン型GASで使用すると、実行時にエラーします。

GASのスタンドアロンスクリプトとは

スタンドアロンスクリプトのGoogle Apps Scriptは、特定のスプレッドシートなどのファイルに紐づくことはありません。

もちろんスクリプト内でスプレッドシートやフォームなどの呼び出しが可能です。呼び出す際にはきちんとIDやURLで一意に指定する必要があります。

スタンドアロン型のGASスクリプトエディタの開き方

Google Apps Scriptのスタンドアロンスクリプトは、Googleドライブから新規ファイルとして開くことができます。

コンテナバインド型のGASファイルは、Googleドライブ上には表示されませんが、スタンドアロン型のGASファイルはGoogleドライブに表示されます。

コンテナバインドとスタンドアロンのメリット・デメリット比較

コンテナバインドスクリプトとスタンドアロンスクリプトはそれぞれにメリットデメリットがあります。

コンテナバインドのメリット・デメリット

コンテナバインドスクリプトのメリットは、以下の3点があげられます。

  1. Googleの各種サービスのメニューから手軽に始められる
  2. 紐づくGoogleサービスをID指定不要で参照できるコマンドが用意
  3. スプレッドシートからGASのコードを実行できる

一方、コンテナバインドスクリプトはGoogleスプレッドシートなどのファイルにぶら下がる形式のため、Googleドライブ上では表示されないというメリットがあります。

扱っているGASのスクリプトが少ないうちは管理できますが、数が増えるにつれて、管理コストが増えるのがデメリットです。

スタンドアロンのメリット・デメリット

スタンドアロンスクリプトのメリットは、Googleドライブで表示されるため、管理しやすい点があげられます。

また、スプレッドシートなどに紐付かないため、スプレッドシート利用者に対し、スクリプトを秘匿することが可能です。

その一方、コンテナバインドでできることがスタンドアロンではできない点がデメリットです。

  1. スプレッドシートを開く際は、IDや名前を指定する必要がある
  2. 紐付けがないため、スプレッドシートからGASが実行できない

コンテナバインドとスタンドアロンのGASの使い分け

コンテナバインドスクリプトとスタンドアロンスクリプトの使い分け方法ですが、最初のうちはコンテナバインド型のGoogle Apps Script利用で問題ありません

コンテナバインドスクリプトだと、紐づくスプレッドシートを簡単に読み込むコマンドがあります。

また、スプレッドシートに挿入した画像にスクリプトを割り当て、クリックでGASを実行できます。

さらにスプレッドシートを開いた際にもスケジュール実行でGASの処理を行うといったことも可能です。

上記のような利用ケースがない場合で、かつGoogle Apps Scriptの利用数が増えた場合は、スタンドアロンスクリプトの方が管理しやすくなります。

また、スタンドアロンスクリプトの場合、スプレッドシートに紐付かないため、スクリプトを秘匿できます。

コードの記述内容を秘匿しておきたい場合は、スタンドアロンスクリプトがオススメです。

まとめ・終わりに

今回、コンテナバインドスクリプトとスタンドアロンスクリプトの2種類のGoogle Apps Scriptを紹介しました。

機能的な面で言えば、コンテナバインド型の方がすべての機能がありますが、管理面でスタンドアロン型の方が便利なケースがあります。

Google Apps Scriptの利用ケースを考慮し、コンテナバインド型でしかできない場合はコンテナバインド型を選択、そうでなければ、スタンドアロン型を選択するのがオススメです。