我还在尝试创建一个时间触发器,用于检查当天是否已将某个复选框编辑为“true”,并在下一列中显示时间戳以显示上次编辑的时间。这是我下面的代码,我还没有让它运行起来。显示:找不到方法setValues(字符串)。 12号线
function myFunction(event) {
var timeZone = Session.getScriptTimeZone();
var timestampFormat = "MM-dd-yyy hh:mm:ss";
var now = new Date();
var actRng = SpreadsheetApp.getActive().getRange("C2:C200");
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var sheet = SpreadsheetApp.openById("1_LMkYec4CymMQZ6vdCswkr2UGiGPIOGLlLBMlLYEw3k");
var checkRange = sheet.getRange("C:C");
var checkBox = sheet.getRange("B:B");
if (checkBox.getValue() == true) {
checkRange.setValues(Utilities.formatDate(now, timeZone, timestampFormat));
}
}
只需使用onEdit():
我希望您意识到没有事件对象就无法运行此功能。它可能必须是可安装的触发器,其他人正在使用电子表格。
function onEdit(e) {
if(e.range.getSheet().getName()!='WhatEverSheetNameYouPutHere') return;
if(e.range.columnStart==2 && e.value=="TRUE") {
e.range.offset(0,1)=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd-yyy hh:mm:ss");
}
}