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

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

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

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

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

Google ドキュメント、スプレッドシート、スライドでバインド スクリプトを作成するには、ドキュメント、スプレッドシート、プレゼンテーションを開き、[拡張機能] > [Apps Script] をクリックします。今後スクリプトを再び開くには、同じ手順を繰り返すか、Apps Script ダッシュボードからスクリプトを開きます。

Google フォーム

Google フォームでバインド スクリプトを作成するには、フォームを開き、その他アイコン > [スクリプト エディタ] をクリックします。今後スクリプトを再び開くには、同じ手順を繰り返すか、Apps Script ダッシュボードからスクリプトを開きます。

特別なメソッド

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

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

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

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

アドオン

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

トリガー

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

カスタム関数

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

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

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

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