Google apps script 尝试在不选择工作表的情况下对两列进行排序
我正在尝试从一个不总是活动的工作表中排序一个范围。但它总是对活动工作表的等效范围进行排序Google apps script 尝试在不选择工作表的情况下对两列进行排序,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试从一个不总是活动的工作表中排序一个范围。但它总是对活动工作表的等效范围进行排序 function sortColumns() { var ss = SpreadsheetApp.getActiveSpreadsheet() var sheet = ss.getSheetByName('Sheet1'); var range = sheet.getRange('B2:C3'); range.sort({column: 2, ascending: true}); } 我原
function sortColumns() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName('Sheet1');
var range = sheet.getRange('B2:C3');
range.sort({column: 2, ascending: true});
}
我原以为此代码将始终对工作表A1中的选定范围进行排序,但它将对活动工作表的选定范围进行排序。我认为这就是您想要的:
function sortColumns() {
var ss=SpreadsheetApp.getActive()
var sh=ss.getSheetByName('A1');
var range = sh.getRange(ss.getActiveSheet().getDataRange().getA1Notation());
range.sort({column: 2, ascending: true});
}
但我不确定
重新阅读后,我意识到您想要的是所选范围。选定范围仅适用于激活图纸
function sortColumns() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName('Sheet1');
var range = sheet.getRange('B2:C3');
range.sort({column: 2, ascending: true});
}
它显示与其他脚本相同的错误。出于某种原因,它试图对活动工作表而不是工作表A1进行排序(我刚刚编辑了原始问题,将其命名为Sheet1而不是A1)。因此,我无法对非活动工作表的选定范围进行排序?事实上,它被选中意味着它处于活动状态,如果该范围被选中,它将处于活动状态,这将使工作表处于活动状态(可以使用获取该范围)。如果要使用非活动范围,必须使用常规的
getRange()
方法获取它们。