Google Apps Scriptを使い始めようとして「スタンドアロン」「コンテナバインド」という2つの型が出てきて、どちらを選べばいいか迷っていませんか。
Googleが公式に案内しているのはこの2つだけですが、作成場所も得意な処理も異なるため、選び方を間違えると後から作り直しになることがあります。
この記事では、業務自動化の設計支援を行っている筆者が、2つの型の違いと目的別の選び方を整理しています。
2種類のGoogle Apps Script
Google Apps Scriptには、大きく分けて以下の2つの型があります。
- コンテナバインド型:特定のファイルに紐づくスクリプト
- スタンドアロン型:独立したファイルとして存在するスクリプト
コンテナバインド型
Googleスプレッドシートやドキュメント、フォームなどのファイルに紐付いて作成されるスクリプトです。
そのファイルの一部として保存され、ファイル内から作成できます。
特徴
- ファイル操作が直感的:紐付いているファイルを関数ひとつで操作できます。
- カスタムメニューの追加:ファイルのメニューバーにGoogle Apps Script実行用の独自メニューを追加できます。
- ファイルに依存:ファイルを削除するとスクリプトも一緒に削除されるため、管理には注意が必要です。
主な用途
- スプレッドシートの特定のセルが編集されたら、自動で計算や転記を行う
- 請求書テンプレートに、ボタンひとつで日付や宛名を入力する
スタンドアロン型
特定のGoogleファイルに依存せず、Google Drive上にひとつのファイルとして存在する、独立した型のスクリプトです。
Google Drive上で右クリックすると作成できます。
特徴
- 独立性が高い:特定のファイルに縛られず、複数のGoogleサービスを横断するような処理が得意です。
- Webアプリとして公開:作成したスクリプトをWebアプリとして公開する際に管理がしやすいです。
- ファイルの指定が必要:Googleサービスの操作にはIDを使ってファイルを指定する必要があります。
主な用途
- 複数のスプレッドシートから定期的に情報を集計するツール
- 単体のWebアプリケーション開発
- Googleフォームとカレンダー、チャットを連携させるボット
スタンドアロン・コンテナバインドの使い分け
| スタンドアロン型 | コンテナバインド型 | |
|---|---|---|
| 得意なこと | 複数サービス連携、Webアプリ | 特定ファイル内の作業自動化 |
| 作成場所 | Google Drive | 各Googleアプリのメニュー |
特定のファイル内での作業を自動化したい場合はコンテナバインド型を、複数のサービスを連携させたい、または独立したアプリを作りたい場合はスタンドアロン型を選ぶと良いでしょう。
よくある質問
コンテナバインド型からスタンドアロン型に変更できますか?
直接の変換機能はありません。
コードをコピーして新しいスタンドアロンスクリプトに貼り付け、ファイルIDの指定などを書き換える必要があります。
どちらの型でもトリガー(定期実行)は使えますか?
はい、どちらの型でも時間ベースのトリガーを設定できます。
ただし、スプレッドシートの編集トリガーのようなイベントベースのトリガーは、コンテナバインド型でのみ使えます。
clasp(コマンドラインツール)はどちらの型にも対応していますか?
はい、clasp はスタンドアロン型・コンテナバインド型の両方に対応しています。
ローカル開発やGit管理をしたい場合は、型に関わらず clasp を導入できます。
Google Apps Script活用についてのご相談
「自動化したい業務はあるが、どの型で作ればいいか分からない」「既存のスクリプトが属人化していて引き継げない」といった声をよく聞きます。
少しでもお心当たりがあれば、お気軽にご相談ください。
現在、Google Apps Scriptでの業務自動化に関するお悩みをお伺いする 無料の個別相談 を実施しています。