【问题标题】:Specifying what row to start onEdit Google Script指定从哪一行开始编辑 Google 脚本
【发布时间】:2018-02-05 04:58:16
【问题描述】:

我希望谷歌电子表格上的这个 onEdit 脚本从第 2 行开始,这会跳过我的标题行,但我无法让它与我现有的代码一起工作? 有人可以帮助菜鸟吗?

function onEdit(e)
{
  var ss = e.source.getActiveSheet();
  var rr  = e.source.getActiveRange();


//comment 2 lines below if you want it working on all sheets, not just on 2nd one
  if(ss.getIndex()!= 1)
    if(ss.getIndex()!= 2) 
      if(ss.getIndex()!= 3) 
  return;
 ///

  var firstRow = rr.getRow();
  var lastRow = rr.getLastRow();

//the last modified date will appear in the 43th column which is the Last Update Column
  for(var r=firstRow; r<=lastRow; r++)
    ss.getRange(r, 43).setValue(new Date());
}

【问题讨论】:

  • 您好,看来您的方向是正确的。我为我想忽略标题的谷歌电子表格编写了一个类似的程序。您的代码遇到什么错误? -jk
  • 我没有收到任何错误。这段代码做了我想要的,除了它更新了标题行,这是一个冻结的行。我尝试了几种不同的方法来跳过标题行,方法是使用 .offset 和我发现的其他代码示例,但我对脚本代码的理解不足以使其正常工作。

标签: google-apps-script triggers google-sheets


【解决方案1】:

只检查当前行是否在表头内,然后退出触发器:

function onEdit(e)
{
  var rr = e.range;
  var ss = e.range.getSheet();

  var headerRows = 1;  // # header rows to ignore

  if (rr.getRow() <= headerRows) return;
  ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-10
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多