「ライブラリソリューション」は、実際には最善の策です。見た目ほど複雑ではありませんが、1回限りの作業が必要です。
まず、1つのスプレッドシートでスクリプトを作成します(マスタースプレッドシートと呼びましょう)。
スクリプトエディターで[ ファイル ] →[バージョンの管理 ]をクリックして、スクリプトのバージョンを保存し、バージョンに名前を付けます。
このダイアログを閉じて、ファイル→プロジェクトのプロパティに移動します。ここで、プロジェクトキーを見つけます。これは、文字のシームレスにランダムな組み合わせです。
プロジェクトキーをコピーするかメモします。
新しいスプレッドシートを作成し、スクリプトを再利用したい場合は、スクリプトエディターに移動し、[ リソース ] → [ ライブラリ ]をクリックします(新しいスクリプトを保存していない場合は、すぐに保存するよう求められます)。
[ ライブラリの検索]フィールドで、マスタープロジェクトからプロジェクトキーを貼り付け(1)、選択(2)をクリックします。
これにより、リストにマスタースクリプトが入力されます。よりわかりやすい名前(3)を付け、開発モード(4)をオンにします(これにより、ライブラリをデバッグできるようになります)。スクリプトの最新バージョンを選択します(5)。
これで、新しいスクリプトで含まれているライブラリの関数を使用できるようになりました。関数名に(3)で指定した名前を追加するだけで、ライブラリをとして識別し、ライブラリに呼び出したいMyLibrary
関数がmyFunction
ある場合、を呼び出しますMyLibrary.myFunction()
。
ライブラリを更新する場合は、単純に更新してファイルを保存します。ライブラリに依存するスクリプトには、更新されたライブラリコードが表示されます。
概念実証としてこの演習を試しました。
- 関数を使用してライブラリをセットアップします。
function myFunction() {return "Foo"}
- それを別のスクリプトに含めて、ライブラリを
MyLibrary
- ライブラリ関数を呼び出した
Logger.log(MyLibrary.myFunction)
- ログが表示されます
Foo
- ライブラリを編集しました:
function myFunction() {return "Bar"}
- インクルードスクリプトを再実行すると、ログが表示されます
Bar
したがって、初期設定後は非常に簡単です。実際の例については、Googleドライブのこのフォルダーをご覧ください。
ライブラリのGoogleドキュメントも参照してください。