寻找一个onEdit脚本,当它被编辑时可用于更改Google表格单元格的颜色吗?

时间:2019-10-24 17:48:37

标签: google-apps-script google-sheets

我正在使用Google表格来监视包含多个用户的项目。我想在编辑内容时使用onEdit命令将单元格的颜色更改为黄色。下面是我正在使用的代码。但是,我无法使其正常运行。编码对我来说还是个新手,所以任何建议都将不胜感激。

function onEdit1(e)
{
  var range=e.range;
  var column=range.getColumn();
  if(column>3 && column<27)
  {
    range.setBackground('#ffff00')'
  }
}

1 个答案:

答案 0 :(得分:2)

function onEdit(e){
  if(e.range.getSheet().getName()!="Sheet1")return;
  if(e.range.columnStart>3 && e.range.columnStart<27) {
    e.range.setBackground('#ffff00');
  }
}

我还添加了一行以将其限制为仅一张纸。如果希望它在整个电子表格中运行,则可能希望更改该工作表的名称,甚至完全删除它。

许多新程序员尝试从脚本编辑器运行这些onEdit(e)函数。不幸的是,这是行不通的,因为e参数期望由事件触发器填充。如果没有事件对象,通常会收到诸如无法读取未定义属性范围之类的错误,因为事件触发器未填充e。

我通过确保编辑正确的图纸和正确的范围来测试它们,并使用e.source.toast()函数为我提供类似于console.log()的反馈。

如果您想了解有关事件对象的更多信息,请尝试添加Logger.log(JSON.stringify(e));。到函数声明后的第一行。然后以适当的方式编辑适当的工作表并使其运行,然后查看日志以查看结果。