2012-12-11 51 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()); 
};