是否可以获取谷歌表单(回复)提交时间和更新时间?
我已经创建了谷歌表单并且回复被记录在谷歌表中。提交响应后,它会自动捕获第一列“时间戳”下的时间。现在,如果响应更新(例如在三个小时后),那么最初记录的时间(时间戳)也会更新。顺便说一下,我创建了脚本,该脚本生成链接以在最后一栏中编辑响应,以便用户可以随时更新他们的响应。是否有任何解决方法可以让响应提交(创建)时间并在不同列中更新?
感谢任何帮助。
正如鲁本所建议的,
我已经创建了下面的脚本,但它不起作用
function assignEditUrls() {
var form = FormApp.openById('1UoHiwgl2Kw6RK5c7-
0kp1iFP0CPPR_LDbvSm1hw9xLg');
var sheet =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form
responses 1');
var data = sheet.getDataRange().getValues();
var urlCol = 16;
var responses = form.getResponses();
var timestamps = [], urls = [], resultUrls = [];
for (var i = 0; i < responses.length; i++) {
timestamps.push(responses[i].getTimestamp().setMilliseconds(0));
urls.push(responses[i].getEditResponseUrl());
}
for (var j = 1; j < data.length; j++) {
resultUrls.push([data[j][0]?urls[timestamps.indexOf(data[j]
[0].setMilliseconds(0))]:'']);
}
sheet.getRange(2, urlCol,
resultUrls.length).setValues(resultUrls);
{
var blankRow=sheet.getLastRow(); //identify the next blank row
// date function to update the current date and time as
submittted on
var value = sheet.getRange(blankRow, 19).setValue(new
Date()).setNumberFormat('dd-mm-yyyy h:mm:ss'); //Submitted On
sheet.getSheetValues(value);
}
}
它正在更新最后一列的时间,但是如果我更新表单响应,它会再次更新。我想要创建日期,应该在初始条目中输入。请帮助我更正我的脚本。
答案 0 :(得分:0)
没有内置的方法可以做到这一点。
一种选择是,您可以使用添加 URL 的脚本来编辑表单响应,以便在提交新表单响应时将时间戳添加到另一列,并在编辑表单响应时将时间戳添加到另一列。
相关