javascript - 如何将多段代码合并为一个? (JavaScript)

标签 javascript google-apps-script

我的代码有一个小问题:我有 3 段代码,但我无法将它们组合在一起。

当某些单元格发生变化时,所有三个代码都会将时间戳放入不同的单元格中。 如果我更改单元格 A1,则在单元格 B1 中插入时间戳。如果单元格 A2 发生变化,则在单元格 B2 中插入时间戳等。

你能帮我吗?谢谢。

1)

function onEdit(event) {


  var tsheet = 'Заявки' ; 

  var lcol = 17; 
  var rcol = 17; 
  var tcol = 18;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}

2)

function onEdit(event) {


  var tsheet = 'Заявки' ; 

  var lcol = 15; 
  var rcol = 15; 
  var tcol = 16;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}

3) 

function onEdit(event) {


  var tsheet = 'Заявки' ;

  var lcol = 9; 
  var rcol = 9; 
  var tcol = 8;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}

最佳答案

将列规范放入数组中:

function onEdit(event) {

  var tsheet = 'Заявки' ;
  var colspec=[[17,17,18],[15,15,16],[9,9,8]];

  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    var i=colspec.length;
    while (i>0) {
      i--;
      if (scol >= colspec[i][0] && scol <= colspec[i][1]) {
        s.getRange(r.getRow(), colspec[i][2]).setValue(new Date());
      }
    }
  }
}

关于javascript - 如何将多段代码合并为一个? (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877905/

相关文章:

javascript - 需要帮助切换页面

javascript - Formik React 使用 2 个按钮(提交和保存)提交表单 - 保存按钮不触发验证

javascript - 使用 Nodejs 的多个用户输入

google-apps-script - Google Apps 脚本 : Get the ID of script bound to a spreadsheet

javascript - Angular 8 : Leaflet map is undefined when we leave and enter back to page

javascript - 使用按钮删除图像

google-apps-script - 从应用程序脚本启动 Google 表单

javascript - 使用 Google Apps 脚本检索一个月内的所有事件

javascript - 在 Google Apps 脚本中访问多个参数值

google-apps-script - 如何使用html文件作为htmlBody?