【发布时间】:2018-07-17 17:03:21
【问题描述】:
我对编码很陌生,遇到了一个我无法解决的问题。我在论坛中看到过类似的问题,但似乎无法根据这些答案解决我的问题。我正在尝试设置一个脚本,当在特定列中输入“已关闭”时,该脚本会将一行移动到另一个工作表。从 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);
}
}
任何帮助将不胜感激!
【问题讨论】:
-
如果您从脚本编辑器运行它,该函数将不接收任何参数。只有当您通过编辑绑定电子表格中的单元格来激活简单触发器时,具有 on edit 触发器的函数才会接收编辑事件对象。查看 Apps 脚本触发器文档
标签: google-apps-script triggers google-apps-script-editor