2013-04-24 115 views

回答

2

當然可以,

在你加入一個腳本到腳本管理器的電子表格中,啓用onChange事件觸發器,如下所示:

首先選擇資源 - >當前項目的觸發器...

choose Resources->Current Project Triggers

然後設置觸發器爲: Set the trigger

你可以做你想做的的onChange函數內部任何東西。這裏是發送新插入的行以電子郵件爲例:

function onChange(e){ 

    // sends newly inserted row as an email 
    if (e.changeType == "OTHER") { // mean the sheet is updated via an api call 

    var sheet = SpreadsheetApp.getActiveSheet(); 

    var rows = sheet.getLastRow(); 
    var columns = sheet.getLastColumn(); 

    var data = []; 

    for (var i=1; i<columns; i++){ 
     data.push(sheet.getRange(rows, i).getValue()); 
    } 

    MailApp.sendEmail("[email protected]", "autoTriggeredByJotform", Utilities.jsonStringify(data)); 
    } 
}; 
0

如果您想使用JotForm,Formstack,Zapier等,或任何其他形式,比谷歌表單其他觸發Ultradox,你我將在過去的兩天內努力解決這個問題,這是2012年11月首次提出的問題。

此解決方案將針對JotForm Ultradox觸發器進行量身定製。

從New Ultradox中將它命名爲'Trigger'>設置1分鐘計時器作爲第一個塊(否則在JotForm有機會將新表單數據寫入到工作表之前觸發器將啓動)>插入Google Apps腳本 - 我的腳本塊>點擊創建和重命名爲「觸發」> 1用下面的代碼替換行至78:

// The following method will be invoked whenever Ultradox executes the script 
function execute(mode1) { 
    var sheet = SpreadsheetApp.openById('1KFVcrrCpiPKn7pOz2sQoI5IPjiPNlNKuHpykhlKA0fY').getSheetByName('Submissions'); 
//Change the sheet Id and name as appropriate 
    var lastRow = sheet.getLastRow(); 
    var response = UrlFetchApp.fetch('http://www.ultradox.com/batch?id=x5OPzk9iQ5LssjaeEgxScBMqXA3Pnc&chunk='+lastRow);} 

從腳本編輯器,在第4行,改變薄片ID(您的響應表ID,在其URL中找到)以及電子表格中的表格標籤的名稱(不是電子表格的名稱)>轉到您要觸發的Ultradox>單擊文件>集成>複製您的集成URL>返回腳本,替換li上的URL ne 9,「& chunk =」是腳本的一部分,需要停留在URL的末尾。

單擊發布>作爲Web應用程序部署>更改誰有權訪問應用程序:任何人>部署>複製當前Web應用程序URL。

返回觸發器Ultradox並單擊腳本塊上的齒輪圖標(如果不可用,請刪除此塊,添加其他腳本塊,單擊選擇,查找並將您創建的腳本與此塊關聯)粘貼'應用程序URL '輸入已發佈的腳本URL>確定>單擊文件>集成>複製您的集成URL。

轉到JotForm並打開自定義'謝謝你'頁面>插入/編輯圖像>從觸發器Ultradox粘貼集成鏈接到源>確定>將新框調整爲非常小的東西。請注意,每當您打開謝謝頁面,您的Ultradox將觸發:-)

流程摘要...已提交JotForm>謝謝頁面寫入表格>觸發腳本從表格中獲取最後一行數>在觸發集成之前,腳本將此行號作爲「塊」附加到Ultradox集成URL。

你想放置Ultradox內觸發腳本您希望觸發的,而不是作爲一個單獨的Ultradox?

你必須制定出如何從觸發腳本通過「LASTROW」變量「選取行(S)」積木。由於這將位於工作流程之上,因此您還需要爲觸發器腳本創建一個「只有在以下條件爲真時才執行」,以便可以觸發其他行而不會干擾腳本。

相關問題