Answers:
该链接指向的问答有两个答案,但对我来说,没有一个答案是合适的。IE的答案之一的代码不完整,并且两个都发送电子邮件,因此采用方法太复杂而无法用作起点。
下面是一个易于采用的脚本。
您将被重定向到新的电子表格。记下活动的工作表名称(如果需要,可以重命名),并在该列中添加标题以用于保存响应编辑URL,即Edit Url
。注意:大写非常重要,因此在编写时要非常小心。
提交一些示例响应以测试解决方案。
/*
* Global Variables
*/
// Form URL
var formURL = 'https://docs.google.com/forms/d/form-id/viewform';
// Sheet name used as destination of the form responses
var sheetName = 'Form Responses 1';
/*
* Name of the column to be used to hold the response edit URLs
* It should match exactly the header of the related column,
* otherwise it will do nothing.
*/
var columnName = 'Edit Url' ;
// Responses starting row
var startRow = 2;
function getEditResponseUrls(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var columnIndex = headers[0].indexOf(columnName);
var data = sheet.getDataRange().getValues();
var form = FormApp.openByUrl(formURL);
for(var i = startRow-1; i < data.length; i++) {
if(data[i][0] != '' && data[i][columnIndex] == '') {
var timestamp = data[i][0];
var formSubmitted = form.getResponses(timestamp);
if(formSubmitted.length < 1) continue;
var editResponseUrl = formSubmitted[0].getEditResponseUrl();
sheet.getRange(i+1, columnIndex+1).setValue(editResponseUrl);
}
}
}
我根据问答内容创建了要点。我正在研究这个b / c,以便在编写代码的最终用户之间更好地进行协作。
FormApp.openById()
表单ID而不是FormApp.openByUrl()
整个URL。我将在您的要旨上发表评论。