2015-01-13 79 views
-1

除了可以使用Range.getRowIndex()獲得的行索引之外,電子表格中是否存在行的唯一標識符?如果是的話,這是什麼API?我沒有在Google文檔中看到它。Google應用程序腳本>電子表格>獲取行ID?

我厭倦倚靠行索引,因爲用戶可能交換或手動刪除行,並有去比較......

我希望能夠唯一標識一個表單提交。

+0

也許包括一些代碼來顯示您如何使用它 – AshClarke

+0

如果用戶可以刪除行,你不相信的話,他們還可以編輯任何的fo rm響應值。你在比較什麼? – Jonathon

回答

2

有一個獨特的形式響應ID,您可以在該行中設置...

e.response.getId();

其中'e'是傳遞給表單提交函數的對象。

+0

謝謝,有沒有什麼方法可以檢索這個,如果你沒有抓住這個提交?我想我可以使用UUID生成器等。 – asking

0

對不起回答這樣一箇舊的查詢,但谷歌把它作爲我自己問題的答案(形式響應和電子表格行如何相關)。

鑑於表單ID,可以使用Google Apps腳本表單服務獲取所有響應,併爲每個響應獲取ID和時間戳,並使用電子表格服務將ID存儲在行中匹配時間戳:

var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); 
var responses = form.getResponses(); 
for (var i = 0; i < responses.length; i++) { 
    var response = responses[i]; 
    Logger.log(response.getId()); 
    Logger.log(response.getTimestamp()); 
    // use Spreadsheet API to get matching row and store ID 
} 

https://developers.google.com/apps-script/reference/forms/

https://developers.google.com/apps-script/reference/spreadsheet/

相關問題