コンテナにバインドされたスクリプト

スクリプトがスタンドアロン スクリプトとしてではなく、ドキュメントから作成された場合、Google スプレッドシート、ドキュメント、スライド、フォームのファイルにバインドされます。バインドされたスクリプトが添付されているファイルは「コンテナ」と呼ばれます。バインドされたスクリプトは通常、スタンドアロン スクリプトのように動作しますが、Google ドライブに表示されないこと、バインドされているファイルから切り離すことはできず、親ファイルに対して特別な権限がいくつか付与されます。

スクリプトを Google サイトにバインドすることもできますが、ほとんどの場合、ウェブアプリとしてデプロイします。Google スプレッドシート、ドキュメント、スライド、フォームにバインドされているスクリプトもウェブアプリになることがありますが、これは一般的ではありません。

バインドされたスクリプトを作成する

Google ドキュメント、スプレッドシート、スライド

Google ドキュメント、スプレッドシート、スライドでバインドされたスクリプトを作成するには、ドキュメント、スプレッドシート、スライドでプレゼンテーションを開き、[拡張機能] > [Apps Script] をクリックします。後でスクリプトを再度開くには、同じ操作を行うか、Apps Script ダッシュボードからスクリプトを開きます。

Google フォーム

Google フォームでバインドされたスクリプトを作成するには、フォームを開き、その他アイコン > [スクリプト エディタ] をクリックします。後でスクリプトを再度開くには、同じ操作を行うか、Apps Script ダッシュボードからスクリプトを開きます。

特別なメソッド

バインドされたスクリプトは、スタンドアロン スクリプトではできない、いくつかのメソッドを呼び出すことができます。

詳細については、Google スプレッドシートの拡張ガイドまたは Google ドキュメントの拡張ガイドをご覧ください。

カスタム メニュー、ダイアログ、サイドバー

バインドされたスクリプトは、カスタム メニューダイアログ ボックスまたはサイドバーを追加することで、Google スプレッドシート、ドキュメント、フォームをカスタマイズできます。ただし、スクリプトが操作できるのは、開いているファイルの現在のインスタンスのユーザー インターフェースのみです。つまり、あるドキュメントにバインドされたスクリプトが別のドキュメントのユーザー インターフェースに影響することはありません。

アドオン

アドオンは、Gmail、Google スプレッドシート、ドキュメント、スライド、フォーム内で実行されます。バインドされたスクリプトまたはスタンドアロン スクリプトを作成し、それを世界中のユーザーと共有する場合は、Apps Script でスクリプトをアドオンとしてpublishして、他のユーザーがアドオンストアからインストールできるようにします。

トリガー

バインドされたスクリプトでは、編集権限を持つユーザーがファイルを開くたびに自動的に実行される特別な onOpen() 関数などの単純なトリガーを使用できます。すべてのタイプのスクリプトと同様に、インストール可能なトリガーを使用することもできます。

カスタム関数

カスタム関数は Google スプレッドシートにバインドされたスクリプト内の関数で、構文 =myFunctionName() を使用してセルから直接呼び出します。したがって、カスタム関数は、カスタム関数の動作を定義するという点を除き、AVERAGESUM など、スプレッドシートの何百もの組み込み関数と類似しています。

バインドされたスクリプトへのアクセス

コンテナの編集権限を持つユーザーのみが、バインドされたスクリプトを実行できます。表示アクセス権のみの共同編集者は、スクリプト エディタを開くことはできませんが、コンテナ ファイルのコピーを作成すると、そのコピーのオーナーになり、スクリプトのコピーを表示、実行できます。

スクリプトのコンテナ ファイルを共有する方法については、Google ドライブのファイルを共有するをご覧ください。