2012-12-11 126 views
0

好的,所以我正在为我的工作开展一个项目。我们正在使用Google云端硬盘来跟踪工作订单。这是怎么回事:谷歌脚本复制电子表格时触发触发器

1)你填写申请表格描述你的工作秩序。 2)谷歌脚本轮流生成请求表单中的信息到请求报告并创建一个跟踪表格 3)人员通过填写跟踪表单签署工作单。

很简单,但这里的麻烦。我最初将所有工作订单合并到一个电子表格中,并且您将输入工作订单的ID,但是人们不断输入正确的#号,因此我的老板希望每个工单都有自己的单独的跟踪表单。而且,一旦实施了这个新流程,她希望我尽可能少地触及它。

问题出在哪里,我使用了跟踪表单模板,其中包含所有Google脚本代码,但触发器无法复制。我尝试使用请求表单代码来运行跟踪表单代码,但它太复杂并且容易出错。我试着写一个onOpen代码(它会创建一个项目管理器授权触发器的菜单)到希望复制的模板中,但这也不起作用。

有人可以请告诉我如何解决这个问题?谢谢!

回答

0

当制作电子表格/脚本的新副本时,通过“资源”菜单创建的触发器将不会保留。认为你想创建它们programmatically,那么他们会(仍然需要运行它的功能和授权)。

有些东西一样......

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()); 
}; 
相关问题