gpt4 book ai didi

javascript - 同时运行两个函数不起作用(Google Sheets 脚本)

转载 作者:行者123 更新时间:2023-12-01 00:12:07 28 4
gpt4 key购买 nike

我一直在尝试将这两个函数结合在一起,以便在用户编辑任何工作表时运行脚本,但只有第一个函数正常运行。第二个不输出任何内容,也不显示任何错误。我不知道这里的缺陷在哪里:

function onEdit(e) {
var ss = e.source.getActiveSheet();
var watchedCols = [3, 4, 5]; //Se quiser adicionar mais colunas mudadas que estampam o horário na primeira coluna, adicione ", 3, 4, 5, 6, 7, 8, 9" nos cochetes.
var watchedSheet = 'To Do List'; //change name if needed
if (watchedCols.indexOf(e.range.columnStart) === -2 || ss.getName() !== watchedSheet || e.range.rowStart < 8) return;
ss.getRange(e.range.rowStart, 2)
.setValue(new Date()).setNumberFormat("DD/mm/yyyy")
Logger.log(watchedCols)

var watchedCols2 = [2, 3]; //Se quiser adicionar mais colunas mudadas que estampam o horário na primeira coluna, adicione ", 3, 4, 5, 6, 7, 8, 9" nos cochetes.
var watchedSheet2 = 'Updates'; //change name if needed
if (watchedCols2.indexOf(e.range.columnStart) === -2 || ss.getName() !== watchedSheet2 || e.range.rowStart < 5) return;
ss.getRange(e.range.rowStart, 1)
.setValue(new Date()).setNumberFormat("DD/mm/yyyy")
Logger.log(watchedCols2)
}

提前致谢。

最佳答案

我只看到一个函数,但我假设您正在尝试将两个 onEdits() 合并为一个函数?如果是这样,请将您的脚本替换为

function onEdit(e) {
var ss, watchedSheets, startRows, watchedCols, stampCols, sheetInd;
ss = e.source.getActiveSheet();
watchedSheets = ['To Do List', 'Updates'];
startRows = [8, 5];
watchedCols = [[3, 4, 5], [2, 3]];
stampCols = [2, 1];
sheetInd = watchedSheets.indexOf(ss.getName());
if(sheetInd === -1 || watchedCols[sheetInd].indexOf(e.range.columnStart) === -1
|| e.range.rowStart < startRows[sheetInd]) return;
ss.getRange(e.range.rowStart, stampCols[sheetInd])
.setValue(new Date()).setNumberFormat("DD/mm/yyyy");
}

看看这是否有效?

关于javascript - 同时运行两个函数不起作用(Google Sheets 脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60004757/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com