类型错误:无法读取未定义的属性"源"编辑@macros.gs:6



下面的代码将行从一个工作表移动到另一个工作表使用数据验证"Sold"但是当我尝试执行这段代码时,它说TypeError:无法读取未定义onEdit @ macros.gs:6的属性'source'

function onEdit(event) {
// assumes source data in sheet named Sheet1
// target sheet of move to named Sheet2
// test column with yes is col 6 or F
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Pioneer Powersports" && r.getColumn() == 6 && r.getValue() == "Sold") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Sold Item");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}

在你的函数中有event变量意味着你正在实现触发器。要使onEdit(e)工作,您必须更改电子表格中的值。

如果您在编辑器上运行它,则没有向事件变量传递任何值,这将导致属性'source'未定义。

参考:

Google Apps Script事件对象

简单的触发器

最新更新