【发布时间】:2022-12-01 03:46:55
【问题描述】:
我正在尝试对 google 工作表上的特定列进行排序,但排除了几个不同的选项卡。我在工作中大量使用谷歌脚本,但我从 Stack 获得的大部分脚本然后编辑它们,因为我不是开发人员/工程师,我担任非技术角色,但我对编码了解很少。
知道编码的人可以告诉我我做错了什么吗?
我知道有一种更有效的方法来执行列和升序的命名约定,我稍后会更改它,但想看看是否有人知道我为什么会收到此错误?谢谢!
我从我更改过的 Stack 帖子中找到了这段代码,我觉得它应该可以工作,但我一直在我的触发器“onEdit”上收到此错误:
“错误:范围的坐标超出了工作表的尺寸。”
function sortEverySheetTest() {
var excludeSheetNames = ["Sheet 1","Sheet 2","Sheet 3", "Sheet 4", "Sheet 5", "Sheet 6", "Sheet 7", "Sheet 8"]; // <--- Added
var sortFirst = 5;
var sortFirstAsc = true;
var sortSecond = 6;
var sortSecondAsc = true;
var sortThird = 7;
var sortThirdAsc = true;
var headerRows = 2;
var activeSheet = SpreadsheetApp.getActiveSheet();
var sheetName = activeSheet.getSheetName();
if (excludeSheetNames.includes(sheetName)) return; // <--- Added
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
var range = sheet.getRange(headerRows+1, 1, sheet.getMaxRows()-headerRows, sheet.getLastColumn());
range.sort([{ column: sortFirst, ascending: sortFirstAsc }, { column: sortSecond, ascending: sortSecondAsc }, { column: sortThird, ascending: sortThirdAsc }]);
}
【问题讨论】:
标签: google-apps-script google-sheets