Google 工作表不会从其他脚本触发 .appendRow() 上的任何事件
Google sheet doesn't trigger any events on .appendRow() from other script
我有一个脚本,用户可以在其中输入一些信息并提交。提交时,我运行了一个成功运行的.appendRow()
。使用我拥有的数据,我正在尝试根据另一个单元格的值为多个单元格设置背景颜色。
前任。如果 J2 对于 J2:L2 setBackgroundColor("yellow")
创建了一个附加到电子表格的脚本,我正在尝试在其中创建一个触发器来执行此操作。我创建的触发器在手动编辑电子表格时有效。但是,当我appendRow()
时,onEdit()
和onChange()
都没有工作。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();
}
我认为您可以简单地让该脚本调用您的colorBasedOnStatus(rowIndex)
函数,而无需任何触发器并直接集成到用于附加新行的函数中。
这样,您就不需要任何触发器设置,并且您的代码也变得更加简单。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- cron作业与Javascript计时事件
- Google 工作表不会从其他脚本触发 .appendRow() 上的任何事件