javascript - 合并两个 onEdits

标签 javascript google-apps-script google-sheets google-sheets-formula

我正在尝试组合多个 onEdits,以便当一列中的复选框为 true 时,该行将拍摄到某个选项卡。同样,当该复选框在另一个中标记为 true 时,同一行将跳转到完全不同的选项卡。

这些是分开工作的,但我很难将它们结合起来。

'''

function onEdit(event) {
  myFunction1(event);
  myFunction2();
}

function myFunction1(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 4 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Completed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

  }
}

function myFunction2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 5 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Combine");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

'''

最佳答案

您还需要更改工作表名称。 最大的问题是 e.value 可能应该是 "TRUE" 而不是 true 这就是我使用第一个 toast 命令检查它的原因。

function onEdit(e) {
  //e.source.toast('Entry' + JSON.stringify(e));
  var sh=e.range.getSheet();
  if(sh.getName() == "Sheet10" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("Sheet11");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    if(e.range.columnStart==5) {
      //e.source.toast('Flag2');
      var tsh=e.source.getSheetByName("Sheet12");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
  }
}

关于javascript - 合并两个 onEdits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60962101/

相关文章:

javascript 变量和值串联

javascript - JW Player - Amazon Web Services CDN 和高级 Javascript 调试

javascript - 在 Google 表格脚本编辑器中计算日期差异

google-apps-script - 如何为共享云端硬盘发布云端硬盘应用

javascript - 如何使用 Javascript 放置图像并使其移动?

php - 动态图像调整大小

javascript - HTML 表格行创建

google-apps-script - 在第一个计数实例上方添加一行 - Google 电子表格

google-apps-script - 您无权调用 openById

javascript - 如何从自定义 HTML 侧边栏更改 Google 表格单元格中的值?