gpt4 book ai didi

javascript - 合并两个 onEdits

转载 作者:行者123 更新时间:2023-11-30 23:57:19 25 4
gpt4 key购买 nike

我正在尝试组合多个 onEdits,以便当一列中的复选框为 true 时,该行将拍摄到某个选项卡。同样,当该复选框在另一个中标记为 true 时,同一行将跳转到完全不同的选项卡。

这些是分开工作的,但我很难将它们结合起来。

'''

function onEdit(event) {
myFunction1(event);
myFunction2();
}

function myFunction1(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "main" && r.getColumn() == 4 && r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Completed");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);

}
}

function myFunction2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "main" && r.getColumn() == 5 && r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Combine");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);

'''

最佳答案

您还需要更改工作表名称。最大的问题是 e.value 可能应该是 "TRUE" 而不是 true 这就是我使用第一个 toast 命令检查它的原因。

function onEdit(e) {
//e.source.toast('Entry' + JSON.stringify(e));
var sh=e.range.getSheet();
if(sh.getName() == "Sheet10" && e.value=="TRUE") {
if(e.range.columnStart==4) {
//e.source.toast('Flag1');
var tsh=e.source.getSheetByName("Sheet11");
var trg=tsh.getRange(tsh.getLastRow()+1,1);
}
if(e.range.columnStart==5) {
//e.source.toast('Flag2');
var tsh=e.source.getSheetByName("Sheet12");
var trg=tsh.getRange(tsh.getLastRow()+1,1);
}
sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
}
}

关于javascript - 合并两个 onEdits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60962101/

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