我刚刚开始使用 javascript,并尝试将一些复选框制作为 Google 表格中的单选按钮。 当相应的复选框打开时,它会成功关闭相应的复选框,但在脚本运行后,事件单元格始终重置为“主页”工作表中的 A1 单元格,即使编辑是针对另一张工作表也是如此。
我不明白为什么会发生这种情况。我希望用户所在的原始工作表和单元格在脚本运行后保持激活状态。
function onEdit(e) {
var ss = e.source;
var eSheet = ss.getActiveSheet();
var eRange = e.range;
if ((eSheet.getSheetName() == "Home") && (e.range.rowStart == 8) && (e.range.columnStart > 2) && (e.range.columnStart < 8) && (e.value == "TRUE")) {
// Makes sure no other checkboxes are on
for (var i = 3; i < 8; i++) {
if (i == e.range.columnStart) continue;
SpreadsheetApp.getActiveSheet().getRange(e.range.rowStart, i).setValue(false);
}
}
};
最佳答案
首先尝试获取事件电子表格,仅调用一次。
function onEdit(e) {
// console.log(JSON.stringify(e));
let eSheet = SpreadsheetApp.getActiveSpreadsheet();
if ((eSheet.getActiveSheet().getSheetName() == "Home") && (e.value == "TRUE") && (e.range.columnStart > 2) && (e.range.columnStart < 8) && (e.range.rowStart == 8)) {
// Makes sure no other checkboxes are on
for (var i = 3; i < 8; i++) {
if (i == e.range.columnStart) continue;
eSheet.getActiveSheet().getRange(e.range.rowStart, i).setValue(false);
}
}
}
它不会更改事件单元格中的光标。
关于javascript - Google Sheets onEdit 函数跳转到 A1 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60688806/