【发布时间】:2019-04-23 22:57:26
【问题描述】:
如果该行在当天的某个时间点被编辑,则尝试创建触发器以向列添加时间戳。为了工作,他们觉得 onEdit 太乱了。我也不知道。
所以,我设置了一个触发器,每天下午 1 点运行。那部分有效。但是,我不知道如何使时间戳的代码指向该触发事件,也不知道如何写出该特定函数。这就是我所拥有的,它到达第 10 行并说源被定义为空。我是在寻找它需要的 triggerUiD 还是其他什么?
function myFunction(event) {
var timeZone = Session.getScriptTimeZone();
var timestamp_format = "MM-dd-yyy hh:mm:ss";
var updateColName = "Updated";
var timeStampColName = "Timestamp";
var source = SpreadsheetApp.getActive().getSheetByName("TestTimestamp");
var actRng = SpreadsheetApp.getActive().getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = SpreadsheetApp.getActive().getSheetByName("TestTimestamp").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) {
var cell = sheet.getRange(index, dateCol +1);
var date = Utilities.formateDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
【问题讨论】:
标签: google-apps-script google-sheets timestamp crontrigger