0

「onFormSubmit」トリガーを含むスクリプトをギャラリーに公開しました。

ユーザーがスクリプトをインストールしても、トリガーはインストールされず、ユーザーは自分でトリガーを追加するプロセスを実行する必要があります。私は何か間違ったことをしていますか、それとも意図的なものですか?

4

1 に答える 1

1

これは正常な動作です。コピーにはトリガーがコピーされませんが、GAS はトリガー作成への完全なアクセスを提供します。

使用しているスクリプトの種類については言及していませんでしたが、トリガーが設定されたときに変更されるメニューや、インストールルーチンを提供しない非常にユーザーフレンドリーな方法でインストールプロセスを処理するスプレッドシートバインドスクリプトの例を次に示します。ユーザーは理解できるはずです。

ユースケースに合わせて自由に調整してください。

function onOpen() {
  var installMenu = [ {name: "Install triggers", functionName: "setTrigger"}
                    ];
  var normalMenu = [ {name: "do something", functionName: "doIt"}
                    ];
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  if(!UserProperties.getProperty('triggers')){
    sheet.addMenu("Custom menu",installMenu);
  }else{
    sheet.addMenu("Custom menu",normalMenu);
  }
}

function setTrigger(){
  var trig = ScriptApp.newTrigger('onFormSubmit').forSpreadsheet('0AnqSFd3iikE3dG5CQzdpV2tyMzRvdlY1RlVOUDc5RHc').onFormSubmit().create();
  UserProperties.setProperty('triggers',trig.getUniqueId());
  Browser.msgBox('Please refresh your Browser');
}

function onFormSubmit(){
  //do something
}

function doIt(){
  //
}
于 2013-09-20T20:32:33.157 に答える