将 Apps 脚本函数应用于 Google 个工作表中的其他行

Apply Apps Script Function to Other Rows in Google Sheets

我只是想知道是否有人会就如何将脚本中的函数应用到 sheet 中的其他行向我提出建议。

基本上我有一个脚本,当用户将复选框设为“TRUE”时,它会将一个包含日期的单元格复制到另一个单元格。它在我的测试行上运行良好,但我不确定如何将其应用于其余行。

我在想我需要循环遍历其他行或应用 getLastRow 函数,还是将其应用于整个 sheet 减去顶行....我已经结束了认为自己对可能非常简单的事情感到困惑。

google 脚本的新手,是否有针对此类事物的最佳实践?

这是我的函数:

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSheet();
  var date = new Date( ss.getRange(2,7).getValue());

  if (e.range.columnStart != 1 || e.value != "TRUE") return;
  ss.getRange(2,4).setValue(new Date(date.setDate(date.getDate())));
}

这是我的第一个剧本所以不会太苛刻 ;) 谢谢,

建议:

您可以通过使用 e.range.rowStart:

获取当前选定的行来尝试此实现
function onEdit(e) {
  var ss = e.source.getActiveSheet();
  var date = new Date(ss.getRange(e.range.rowStart,7).getValue());

  if (e.range.columnStart != 1 || e.value != "TRUE") return;
  ss.getRange(e.range.rowStart,4).setValue(new Date(date.setDate(date.getDate())));
}

示例演示: