0

我有一個鏈接到電子表格的表單。在這個電子表格中,我有一個處理表單答案的腳本。 腳本必須生成一封郵件給回覆此表單的用戶,並且有時會要求他修改他的回答。 我想要生成一個預先填好的表單鏈接(預先填寫用戶的答案),通過郵件發送它,讓他只改變我想讓他改變的內容(不必再次填寫所有表單)電子表格上的Google腳本 - 創建鏈接以通過表單修改答案

我看到有一個辦法做到這一點使用功能

getEditResponseUrl() 
    --> var 'responses' = 'myform'.getResponses(); 
    --> var 'modificationUrl' = 'responses'[?].getEditResponseUrl() 

不知形式的「答覆」該走的。 (因爲我的電子表格中的行數少於表單響應的數量...

請問有什麼方法可以知道使用哪個響應來執行getEditResponse(使用時間作爲示例..;但是我不'知道如何)

預先感謝您。

回答

0

而是採用從表單鏈接到電子表格中,你也許可以從形式到電子表格中寫你自己的數據。在對象由給定你將會找回他的身份證和他的身份證,這樣你就可以有效地將你的電子表格輸入到你的表格答案中。

你可以看看這個ticket 瞭解更多如何處理表單答案。如果你需要特定的信息(你會這樣做)在表單提交觸發時如何操作表單的響應,你可以檢查這個issue

爲例:

// for a form with 2 question named "question 1" and "question 2" 
function submitFormFunc(e) { 
    var items = e.response.getItemResponses(); 
    var responses={}; 
    for(var i = 0; i< items.length; i++) { 
    responses[items[i].getItem().getTitle()]=items[i].getResponse(); 
    } 

    var responseTable = []; 
    var responseIndex = ["Timestamp","ID","question 1","question 2"]; 
    responseTable.push(e.response.getTimestamp().toString()); 
    responseTable.push(e.response.getId()); 
    responseTable.push(responses["question 1"]); 
    responseTable.push(responses["question 2"]); 
    responseTable.push(FormApp.getActiveForm().getResponse(e.response.getId()).getEditResponseUrl()); 
    SpreadsheetApp.openById("your spreadsheetId").appendRow(responseTable); 
} 
相關問題