9

私はアマチュアのコーダーです-私は自分の人生を楽にするために本当にいくつかのことをしているだけです。学校のさまざまな学年で規律の問題を追跡するために、Googleフォームとスプレッドシートを設定しました。提出物を電子メールで適切な人に通知し、選択した学習者に関するレポートをフィルタリングおよび作成できる短いスクリプトを作成しました。

私はDIYコーディングをしているので(英語とフランス語の先生なので、プログラミングは勉強しませんでした)、最初から明らかだったはずの改善点を思いつくことがよくあります。スクリプトの改善点をコピーして、すべてのスプレッドシートのスクリプトエディタに貼り付けたくありません。このスクリプトをGoogleドライブにスタンドアロンファイルとしてコピーしましたが、ギャラリーは公開されたスクリプト/アプリにしかアクセスできないため、どのスプレッドシートにも挿入できません。これを回避する方法はありますか?ライブラリの使用についての言及を見たことがありますが、どこから始めればよいのかさえわかりません。Googleドライブでスタンドアロンとしてスクリプトを作成できるが、実際には使用できないのは少しばかげています。

どんな助けでもいただければ幸いです。

4

4 に答える 4

10

これは少し前に最初に問題として提起され、Google の解決策は「ライブラリ」機能でした。

だからあなたはしたいでしょう

  1. プロジェクトのバージョンを保存する必要があります。ファイル > バージョンの管理...
  2. 次に、[ファイル] > [プロジェクト プロパティ] に移動し、プロジェクト キーをコピーします。
  3. 次に、他のすべてのスプレッドシートで、スクリプト エディターに移動し、[リソース] > [ライブラリの管理] に移動する必要があります。次に、上からプロジェクト キーを貼り付けて、そのスプレッドシート スクリプトに追加します。

これを行うための自動化された方法はありません。スプレッドシートでスクリプトを実行するには、スプレッドシートごとにスクリプト エディタに移動する必要があります。

ソース

于 2013-02-20T13:54:52.710 に答える
5

もう 1 つの回答 (Phil Bozak) は、ライブラリの構築方法の一般的な概要を示しているため、まったく悪くありませんが、あなたを本当に「正しい軌道に乗せる」には十分ではないのではないかと思います。

ドキュメントに記載されているように、デフォルトのサービスを使用するのと同じように、含まれているライブラリを使用できます。つまり、ライブラリ関数はスクリプトとして直接使用できませんが、スクリプト関数が呼び出すことができるツールボックスと見なす必要があります。

したがって、各スプレッドシートには、ライブラリ サービスを実際に「呼び出す」多くの初歩的な関数が必要です。後者は、実際のアクションを処理します。

簡単な例を挙げましょう: シートの背景色を変更したいとしましょう。yourLibrary現在のシートの色を変更する関数 (yourLibraryはライブラリに付けた名前) があり、この関数は と呼ばれchangeColorます。

スクリプトで使用できるようyourLibrary.changeColorになりましたが、特別なアクション (onEdit、onOpen... またはメニュー呼び出し) で実行する場合は、この "サービス呼び出し" がスプレッドシートのスクリプト自体に存在する必要があり、ライブラリが同じスクリプト エディタのリソースでも参照されます。

これはすべて、ライブラリ機能が非常に便利で非常に簡単であることを説明していますが、各スプレッドシートには「スケルトン スクリプト」が必要であり、「更新可能な部分を呼び出す基本構造でスクリプトを再構築する方法を考える必要があります。本当のもの」。

それほど単純ではありませんが、(その後)非常に快適です;-)

これが十分に明確であることを願っています。

于 2013-02-20T16:25:23.060 に答える
2

また、個々のスプレッドシートに独自のコンテナー スクリプトが必要かどうかについても検討する必要があります。スタンドアロンですべてのシートを読み込んでレポートを実行できないのはなぜですか?

于 2013-02-21T04:01:26.197 に答える