首页 > 解决方案 > 尽管满足脚本条件,但我的 onEdit Timestamp 脚本无法在某些行上运行

问题描述

我制作了一张使用下面脚本的表格。在某些行上,它可以工作,但在某些行上,它不起作用。

当我调查时,它不适用于另一列上标记为是(通过公式)的所有行,但该列甚至不是脚本运行操作的标准的一部分。

这个脚本以前可以工作,甚至可以在其他工作表上工作,但是现在突然不工作了。有小费吗?我不是程序员,我只能从本网站或 youtube 或其他在线可用的演练视频中获得这些想法。

var DATETIMELOCATION = [0,1]
var SHEETNAME = '[3] Worksheet'

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  if( sheet.getSheetName() == SHEETNAME ) { 
    var selectedCell = ss.getActiveCell();
    if( selectedCell.getColumn() == COLUMNTOCHECK) { 
      var dateTimeCell = selectedCell.offset(DATETIMELOCATION[0],DATETIMELOCATION[1]);
      if (dateTimeCell.isBlank()) {dateTimeCell.setValue(new Date()); }
      }
  }
}```


标签: google-apps-script

解决方案


您这么说it doesn't work on all the rows marked yes (via formula)是正常行为,因为 onEdit 触发器仅在用户编辑时触发。

简单的触发器


推荐阅读