我有一个Google表格,该表格由网站上的HTML表单自动填充。我需要输入其信息的用户的确切日期和时间。因此,当他们填写自己的信息并按“提交”按钮时,我不仅会得到他们的信息,还会得到他们提交表单的确切时间。我也不希望不同的位置发送不同的时间,是否可以在Google工作表中设置格林尼治标准时间,以便所有日期和时间都根据同一格林尼治标准时间进行评估。
这是用于编辑单元格的代码,但是,仅在更新单元格而不添加新单元格时才有效。添加新行(或单元格)后,如何修改它以进行更新。:
function onEdit(event)
{
var timezone = "GMT+8:30";
var timestamp_format = "yyyy-MM-dd HH:mm:ss"; // Timestamp Format.
var updateColName = "date";
var timeStampColName = "Date Sent";
var sheet = event.source.getSheetByName('Attendance'); //Name of the sheet where you want to run this script.
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself!
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
答案 0 :(得分:0)
当通过代码进行更改时,我们不能使用简单或可安装的触发器来更新电子表格。参考https://developers.google.com/apps-script/guides/triggers
另一种选择是增强代码,以更改传播方式,并添加所需的值。