0

さて、私は自分の仕事のためのプロジェクトに取り組んでいます。Google ドライブを使用して作業指示書を追跡しています。手順は次のとおりです。

1) 依頼書に作業指示書を記入します。2) Google スクリプトは、リクエスト フォームからの情報をリクエスト レポートに生成し、追跡フォームを作成します。

簡単ですが、ここが難点です。私は当初、すべての作業指示書を 1 つのスプレッドシートにまとめており、作業指示書の ID を入力していましたが、正しい # を入力する人が何度も間違えたため、上司は各作業指示書に個別の追跡フォームを作成することを望んでいました。そして、この新しいプロセスが実装されたら、彼女は私にできるだけ触れないようにしたいと思っています.

ここで問題が発生します。すべての Google Script コードを含むトラッキング フォーム テンプレートを使用していますが、トリガーをコピーできません。リクエスト フォーム コードを使用してトラッキング フォーム コードを実行しようとしましたが、複雑すぎてエラーが発生しやすくなっています。コピーされることを期待して、onOpen コード (プロジェクト マネージャーがトリガーを承認するためのメニューを作成する) をテンプレートに書き込もうとしましたが、それも機能しません。

誰かがこの問題を回避する方法を教えてもらえますか?? ありがとう!

4

1 に答える 1

0

[リソース] メニューから作成されたトリガーは、スプレッドシート/スクリプトの新しいコピーが作成されたときに保持されません。それらをプログラムで作成したいと思うと、それらは作成されます(そのための関数を実行して承認する必要があります)。

何かのようなもの...

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ScriptApp.newTrigger('logDate').forSpreadsheet(ss).onFormSubmit().create();
}

function logDate() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Sheet1');
  s.getRange('A1').setValue(new Date());
};
于 2012-12-12T04:03:56.467 に答える