2017-02-24 42 views
0

我有一個Google工作表連接到Google表單,用戶可以回答三個問題,然後插入表單中的ABCGoogle表單連接到Google表單:每次添加新行時都運行腳本功能

我試圖設置一個觸發器,所以每當通過Form Submit添加一個新行時,函數foo就會在其上運行。我有以下問題:

1)無論我選擇觸發器的類型,我不能得到的功能來運行,並且我不認爲觸發火災正確

2)如何我可以在代碼中獲得剛剛插入的行的Range,以便我可以編輯它的內容嗎?

到目前爲止我的代碼: 觸發: screenie

和FOO代碼:

function foo(){ 
    var myRange = e.range; 
    myRange.setNote("Is it working?"); 
    } 
}; 

到目前爲止,每次添加一個新行的時候,它不會有一個注,這意味着觸發器沒有觸發,或者我的代碼有問題。

任何幫助將不勝感激!

+1

加上'e'的最後一排的功能參數:'函數foo(E){Logger.log( 'E:' + E)'另外補充Logger.log()語句,然後在代碼運行後查看LOGS。 –

+0

另外,從腳本編輯器運行一次代碼,以查看它是否有效,並且如果尚未這樣做,還允許其訪問工作表。在上面的觸發設置對話框中,使用右側的通知鏈接以正確的方式向您發送錯誤通知。直到你得到代碼運行,然後將它設置爲每天發送一次。 –

回答

0

你需要添加Ë爲Foo的參數,裏面ē你擁有所有的插入形式的信息,請參閱onFormSubmit

function foo(e){ 
     var myRange = e.range; 
     myRange.setNote("Is it working?"); 
     Logger.log("Values from the form" + e); 
} 

如果您仍然需要行的beingsubmited範圍只需撥打onFormSubmit後一個函數,獲取電子表格

var sheet=SpreadsheetApp.openById(id).getSheetByName(name) 
sheet.getRange(sheet.getLastRow(), 1, sheet.getLastRow(), sheet.getLastColumn()).getValues(); 
+0

什麼都沒有發生。即使在添加e作爲參數之後,插入的新行也沒有「它工作嗎?」註釋。 –

相關問題