我使用 Google Sheets 电子表格来管理我正在处理的文件。我在任何给定时间都有大约 60-70 个文件,每个文件都有一个唯一的文件编号。每个文件在我的电子表格中都由一个以其文件号命名的唯一工作表表示。文件编号符合以下格式:[#]-[##]-[####](例如 5-18-0040)。我还有一个名为“文件”的工作表,它是所有这些工作表和一些其他隐藏工作表(其中包含操作)的列表。
我拼凑了一个脚本,我原以为可以通过增加文件编号(例如 1-15-0023、2-16-1924、3-14-2012、5-17-0040)对这些工作表进行排序,然后推送文件工作表以及那些隐藏的工作表。然而,这不起作用。它肯定会稍微移动纸张,但我最终还是得到了乱序的纸张。
谁能看一下这段代码并告诉我什么可能会失败?例如,我是否需要将名称指定为整数(如果是,如何?)或者是否有其他原因可能阻止该脚本工作?
function sortSheets () {
var sheetNameArray = [];
var sheets = ss.getSheets();
for (var i = 0; i < sheets.length; i++) {
sheetNameArray.push(sheets[i].getName());
}
sheetNameArray.sort();
for( var j = 0; j < sheets.length; j++ ) {
ss.setActiveSheet(ss.getSheetByName(sheetNameArray[j]));
ss.moveActiveSheet(j + 1);
}
ss.setActiveSheet(ss.getSheetByName("Files"));
ss.moveActiveSheet(1);
ss.setActiveSheet(ss.getSheetByName("Court Information"));
ss.moveActiveSheet(2);
ss.setActiveSheet(ss.getSheetByName("Timelines"));
ss.moveActiveSheet(3);
ss.setActiveSheet(ss.getSheetByName("Template"));
ss.moveActiveSheet(4);
ss.setActiveSheet(ss.getSheetByName("Sheet Operators"));
ss.moveActiveSheet(5);
}
function sortSheets () {
var sheetNameArray = [];
var sheets = ss.getSheets();
if (sheets.length <= 2){
return;
}
for (var i = 3; i < sheets.length; i++) {
sheetNameArray.push(sheets[i].getName());
}
sheetNameArray.sort();
for( var j = 0; j < sheetNameArray.length; j++ ) {
ss.setActiveSheet(ss.getSheetByName(sheetNameArray[j]));
ss.moveActiveSheet(j + 4);
}
}
对于我的问题,我希望前 3 个保留,之后的任何工作表都进行相应排序。这是一种更简洁的做法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)