我有这两个脚本在不同的页面上做同样的事情,但是f脚本工作,而e脚本没有,任何帮助??
function onEdit(e) {
if (e.source.getActiveSheet().getName() !== "RS3 Points" ||
e.range.columnStart < 9 || e.range.columnStart > 35 ||
e.range.rowStart < 4 || e.range
.columnStart < e.range.columnEnd) return;
e.range.offset(0, 37 - e.range.columnStart).setValue(new Date());
}
function onEdit(f) {
if (f.source.getActiveSheet().getName() !== "OS Points" ||
f.range.columnStart < 6 || f.range.columnStart > 37 ||
f.range.rowStart < 4 || f.range
.columnStart < f.range.columnEnd) return;
f.range.offset(0, 39 - f.range.columnStart).setValue(new Date());
}
答案 0 :(得分:1)
我认为你不能在谷歌剧本中有2个onEdits。
如果您注释掉f
功能,那么e
是否有效?
你不能将它们作为解决方案放在一个onedit函数中。
function onEdit(e) {
if (e.source.getActiveSheet().getName() !== "RS3 Points" ||
e.range.columnStart < 9 || e.range.columnStart > 35 ||
e.range.rowStart < 4 || e.range
.columnStart < e.range.columnEnd) return;
e.range.offset(0, 37 - e.range.columnStart).setValue(new Date());
if (e.source.getActiveSheet().getName() !== "OS Points" ||
e.range.columnStart < 6 || e.range.columnStart > 37 ||
e.range.rowStart < 4 || e.range
.columnStart < e.range.columnEnd) return;
e.range.offset(0, 39 - e.range.columnStart).setValue(new Date());
}
类似的东西,但未经测试。 我想如果我正确地阅读你的代码,你正在寻找不等于工作表名称,可能最好将其改为等于。
答案 1 :(得分:1)
function onEdit(e) {
var ind = ["RS3 Points", "OS Points"].indexOf(e.source.getActiveSheet()
.getName()),
startCol = [9, 6],
endCol = [35, 37],
offset = [37, 39];
if (ind === -1 || e.range.columnStart < startCol[ind] || e.range.columnStart > endCol[ind] ||
e.range.rowStart < 4 || e.range.columnStart < e.range.columnEnd) return;
e.range.offset(0, offset[ind] - e.range.columnStart)
.setValue(new Date());
}