2

私は 100 の異なる学校の Google スプレッドシートを管理しています。各学校のスプレッドシートには同様の機能 (たとえば、日付に基づいて特定のセルにジャンプする、または入力されたテキストに基づいて特定のセルにメモを作成する) があり、複数の人が編集するためのアクセス権を持ちます (たとえば、校長、教師、コーチ、等)。各スプレッドシートの機能は同じなので、この目的のためにライブラリを作成するのが最も簡単だと思います! たとえば、各ドキュメントのスクリプト ファイルは、onOpen()イベントを使用して を呼び出します.addMenu()。次に.addMenuラッパー関数を呼び出し、この関数がライブラリの「jumpToToday」メソッドを呼び出します。(ライブラリメソッドをメニューから直接呼び出すことができないという投稿を見たので、このようにしました)。2 つの質問があります。

  1. 私 (所有者) がスプレッドシートを編集者と共有すると、メニューが表示されますが、編集者がメニュー オプションのいずれかを選択すると、スクリプトは次のエラーを返します。

    ExternalSupportスクリプトで使用されているlibrary へのアクセス権がないか、ライブラリが削除されています。

    これを見た後、ライブラリ ファイル (Can View) をスプレッドシート エディタと共有したところ、機能しました。 関数を実行できるように、スプレッドシートのすべての編集者とライブラリ (表示のみ) を共有する必要がありますか? もしそうなら、それでいいです (ほとんどの校長/教師/コーチは技術者ではないので、私はそれを避けようとしていたので、コードのファイルを共有して混乱させたくありませんでした...私は彼らにスプレッドシートを使用してもらいたいだけです) )。

  2. スプレッドシートの編集者はライブラリを表示することしかできないため、選択されているバージョンにしかアクセスできないようです (開発モードがオンになっていても)。

ライブラリを別のバージョンに更新する場合、100 個のスプレッドシートすべてのスクリプト エディタに移動し、[リソース] > [ライブラリの管理] に移動してバージョンを更新する必要がありますか? または、すべてのファイルで最新バージョンのライブラリを使用する方法はありますか?

4

1 に答える 1

1

1)はいドキュメントによると

すべての潜在的なユーザーに対して、プロジェクトへの少なくとも読み取りレベルのアクセスを許可する必要があります。

これが他のユーザーにとって混乱を招く可能性があることに同意しますが、現時点では必要です。

2)ファイルに最新バージョンのライブラリを使用させる方法はありません。ただし、ライブラリの開発バージョンを使用するファイルを作成する方法があります。これを機能させるには、ライブラリへの編集者レベルのアクセス権をユーザーに付与する必要があります。ただし、ライブラリに加えた変更は、ユーザー側ですぐに反映されることに注意してください。詳細については、ドキュメントを参照してください。

于 2013-11-23T00:38:29.100 に答える