0

我对编码很陌生,遇到了一个我无法解决的问题。我在论坛中看到过类似的问题,但似乎无法根据这些答案解决我的问题。我正在尝试设置一个脚本,当在特定列中输入“已关闭”时,该脚本会将一行移动到另一个工作表。从 GoogleSheet 运行脚本时,我不断收到以下错误:

“TypeError:无法从未定义中读取属性“源”。”

这是我正在使用的代码:

 function onEdit(event) {
      // assumes source data in sheet named Open
      // target sheet of move to named Closed
      // test column with yes is col 8 or H
  var ss = SpreadsheetApp.getActiveSheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Open" && r.getColumn() == 8 && r.getValue() == "Closed") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Closed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }
}

任何帮助将不胜感激!

4

1 回答 1

0

我以前从未使用过谷歌脚本,但从外观上看,“.source”没有被识别,那是因为你把它用作事件的函数;当您将其声明为通行证时,您没有给出类型和名称。尝试“event e”,然后使用 e.source?

于 2018-07-17T17:33:24.703 回答