【问题标题】:Why is Timestamp onEdit Script not working with my dropdown menu?为什么时间戳 onEdit 脚本不能与我的下拉菜单一起使用?
【发布时间】:2021-03-29 09:29:50
【问题描述】:

我试图在编辑特定单元格(恰好是一个下拉列表,水平合并多个列)时显示时间戳,但无法使其工作。

这是我所拥有的:

function onEdit(e) {

  addTimestamp(e);
  
}


function addTimestamp(e){
  //variable
  var startRow = 6;
  var targetColumn = 7;
  
  //get modified row and column
  var row = e.range.getRow();
  var col = e.range.getColumn();
  
  if(col === targetColumn && row >= startRow){
    
    var currentDate = new Date();
    e.sourcegetActiveSheet().getRange(row,12).setValue(currentDate);
  }
  
}

Here's a test sheet example

我还希望它能够跳过 4 个标签,但适用于其余标签。我最初尝试使用

e.sourcegetActiveSheet().getName() != "*tab I wanna exclude*" &&

在 IF 中,但不知道这是否有效,因为我无法让完整的脚本正常运行。

谢谢!

【问题讨论】:

    标签: google-sheets timestamp


    【解决方案1】:

    问题

    您在错误地获取活动表的地方编写了代码。在您的代码中,您输入了 e.sourcegetActiveSheet() 但它应该是 e.source.getActiveSheet()。

    解决方案

    请将上述代码行替换为以下代码。我已经对它进行了测试,它工作正常。

    e.source.getActiveSheet().getRange(row,13).setValue(currentDate);
    

    完成后,您可以测试有关跳过标签的代码。

    【讨论】:

    • 太棒了,成功了!跳过标签部分现在也可以正常工作了,谢谢!
    • 听起来不错!如果您接受此答案以便其他人知道哪一个解决了您的问题,将不胜感激。快乐编码! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多