19

スプレッドシートのコードをいくつかのスクリプトファイルに整理しようとしています。スクリプトエディタ内で、必要な数の* .gsファイルを作成できますが、別のスクリプトで定義されるコードにアクセスする方法がわかりません。

私が達成したいことの簡単な例:

Code.gs:

function onEdit(){
   myFunctionFromLibrary_gs();
} 

Library.gs:

function myFunctionFromLibrary_gs(){
   Browser.msgBox("hi there");
}

onEdit()は、明らかにトリガーによって呼び出されます。変更しないと、ランタイムエラーが発生し、次のようになります。

myFunctionFromLibrary_gs TypeError:関数ではなく、未定義です。

では、どうすればこれを機能させることができますか、またはこれは現在サポートされていませんか?

あなたの助けのために事前にThx。

4

3 に答える 3

23

はい、可能です。

  1. 単一のサーバー Code.gs ファイルに限定されません。開発を容易にするために、サーバー コードを複数のファイルに分散させることができます。すべてのサーバー ファイルは同じグローバル名前空間に読み込まれるため、安全なカプセル化を提供する場合は JavaScript クラスを使用してください。

参照: Google ドキュメント - 機能と制限事項

于 2016-10-05T18:37:26.690 に答える
14

Googleにとって接尾辞が何を意味するのかわかりませんが、_gs接尾辞がないと(以下のコードを参照)、コードは機能します。

file1.gs:

function onEdit(){
   myFunctionFromLibrary();
}

file2.gs

function myFunctionFromLibrary(){
   Browser.msgBox("hi there");
}
于 2012-07-30T16:46:11.577 に答える