下面的代码通过编辑另一列在google中插入时间戳。然而,有一个问题我不知道如何解决。当我手动添加新行时,它成功地添加了时间戳,但我的网站中有一个html表单,它将数据发送到此工作表,即使添加了新行,google也不会创建时间戳!这有点奇怪,因为从概念上讲,当添加新行时,意味着在单元格中进行编辑,而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);
}
}发布于 2019-06-25 16:57:20
只有当使用Google的用户执行相应的操作时,才会触发打开、编辑和更改事件的简单和可安装触发器。
参考文献
相关
https://webapps.stackexchange.com/questions/131197
复制相似问题