cro*_*ats 1 google-sheets google-apps-script
我的电子表格中有 9 个选项卡,并且只想将排序脚本应用于其中 6 个选项卡。我不知道如何实现这一点。
///////Auto Sort Phase Sheets
//get sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ['Phase 1','Phase 2', 'Phase 3', 'Phase 4', 'Phase 5', 'Phase 6'];
//get active cell
var editedCell = sheet.getActiveCell();
//get range
var range = sheet.getRange("A2:Z");
//sort by: status, priority, estimated time
range.sort([{column: 2, ascending: true}, {column: 1, ascending: true}, {column:3}]);
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
类型错误:在对象阶段 1、阶段 2、阶段 3、阶段 4、阶段 5、阶段 6 中找不到函数 getActiveCell
当我删除“getActiveCell”时,出现此错误: TypeError: Cannot find function getRange in object Phase 1,Phase 2,Phase 3,Phase 4,Phase 5,Phase 6.
当我删除“getRange”时,脚本什么也不做。
小智 5
我认为主要问题是您需要循环遍历“sheet”数组中给出的指定工作表名称列表。除此之外,您共享的代码应该嵌入到函数中才能运行(顺便说一句,我删除了editedCell变量,因为它是多余的):
///////Auto Sort Phase Sheets
function sortSheets(){
//get sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Specify sheets to be sorted
var sheet_name = ['Phase 1','Phase 2', 'Phase 3', 'Phase 4', 'Phase 5', 'Phase 6'];
for (s=0; s<sheet_name.length; s++) {
var sheet = ss.getSheetByName(sheet_name[s]);
//get range
var range = sheet.getRange("A2:Z");
//sort by: status, priority, estimated time
range.sort([{column: 2, ascending: true}, {column: 1, ascending: true}, {column:3}]);
}
}Run Code Online (Sandbox Code Playgroud)
这是我测试的工作表: https://docs.google.com/spreadsheets/d/1VyhzrYwOWgGWszrRoUrQU2ECGqwN_lfb99fqw7x9P1k/edit#gid=0
| 归档时间: |
|
| 查看次数: |
1607 次 |
| 最近记录: |