我有一个脚本,用户输入一些信息并提交。提交时,我运行一个成功运行的.appendRow()
。根据我的数据,我试图根据另一个单元格的值设置多个单元格的背景颜色。
实施例。如果J2是setBackgroundColor("yellow")
用于J2:L2
我创建了一个附加到电子表格的脚本,我正在尝试创建一个触发器来执行此操作。我手动编辑电子表格时创建的触发器有效。但是,当我onEdit()
时,onChange()
和appendRow()
都无效。 appendRow()
不会在电子表格中触发事件吗?
这是我的触发/事件脚本。
function onEdit(e){
colorBasedOnStatus(e.range.getRow());
}
function colorBasedOnStatus(rowIndex) {
Logger.log(rowIndex);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Log");
var range = sheet.getRange("J"+rowIndex+":L"+rowIndex);
var values = range.getValues();
Logger.log(values);
var status = values[0][0];
Logger.log("status: " + status);
range.setFontColor("white");
if(status === "Denied"){
range.setBackground("#FF6666");
} else if(status == "Approved") {
range.setBackground("#66C285");
} else {
range.setBackground("#FFE271");
}
SpreadsheetApp.flush();
}
答案 0 :(得分:0)
我认为您可以简单地让该脚本调用您的colorBasedOnStatus(rowIndex)
函数而无需任何触发器,并直接集成到您用于追加新行的函数中。
这样您就不需要任何触发设置,您的代码也会变得更简单。