Google apps script (f) 脚本工作(e)不工作

Google apps script (f) 脚本工作(e)不工作,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有两个脚本在不同的页面上做相同的事情,但是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

我有两个脚本在不同的页面上做相同的事情,但是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());
}
函数onEdit(e){
如果(e.source.getActiveSheet().getName()!=“RS3分”||
e、 range.columnStart<9 | | e.range.columnStart>35||
e、 range.rowStart<4|e.range
.columnStart37||
f、 range.rowStart<4 | | f.range
.columnStart
我认为谷歌脚本中不能有两个Onedit

如果注释掉
f
函数,那么
e
一个函数是否有效

你不能把它们放在一个OneEdit函数中作为解决方案

    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());
}
函数onEdit(e){
如果(e.source.getActiveSheet().getName()!=“RS3分”||
e、 range.columnStart<9 | | e.range.columnStart>35||
e、 range.rowStart<4|e.range
.columnStart37||
e、 range.rowStart<4|e.range
.columnStart
有点像,但还没有经过测试。
我认为,如果我正确地阅读了您的代码,那么您正在寻找的不是等于工作表名称,最好改为等于。

Munkey的直觉是正确的。同一项目中不能有多个OneEdit()。此外,“e”不是一个随机字母(可以用任何其他字母替换),而是代表“事件对象”。你可以阅读更多关于这方面的内容。解决方案实际上包括将两个脚本“合并”为一个脚本。尝试一下:

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());
}
函数onEdit(e){
var ind=[“RS3点”,“操作系统点”].indexOf(e.source.getActiveSheet()
.getName()),
startCol=[9,6],
endCol=[35,37],
偏移量=[37,39];
如果(ind==-1 | e.range.columnStartendCol[ind]||
e、 range.rowStart<4 | | e.range.columnStart
这是一种标准的Javascript行为;"".