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

时间:2018-07-17 17:03:22

标签: google-apps-script triggers google-apps-script-editor

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

  

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

这是我正在使用的代码:

 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);
  }
}

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我以前从未使用过Google脚本,但从外观上无法识别“ .source”,这是因为您将其用作事件的功能;当您将其声明为通行证时,您没有给出类型和名称。尝试“事件e”,然后使用e.source?