Google 脚本:无法使用 getRangeByName 对范围进行排序
Google Script: Can not sort a range with getRangeByName
我需要按字母顺序排列名称范围内的列表,但由于某种原因在某些时候失败并在 var tmp_range = raw_range.sort( 1 );
行中给我一个 "The cell reference is out of range."
第一次调用中的奇怪想法似乎有效,但第二次调用(使用其他范围名称)失败了。
function getValuesOfRange( range_name ){
var raw_range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName( range_name );
Logger.log( raw_range );
if ( raw_range != null ){
Logger.log( range_name );
var tmp_range = raw_range.sort( 1 );
}
...
}
最可能的原因是您在参数中提供了错误的索引。排序函数采用不同类型的参数。在这里查看
https://developers.google.com/apps-script/reference/spreadsheet/range#sortsortspecobj
// Sorts by the values in the first column (A)
range.sort(1);
例如,如果您的命名范围来自 'Sheet1'!D1:D9
排序应该像 range.sort(4);
因此,在您的情况下,将 raw_range.sort( 1 )
更改为 raw_range.sort( raw_range.getColumn())
我需要按字母顺序排列名称范围内的列表,但由于某种原因在某些时候失败并在 var tmp_range = raw_range.sort( 1 );
第一次调用中的奇怪想法似乎有效,但第二次调用(使用其他范围名称)失败了。
function getValuesOfRange( range_name ){
var raw_range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName( range_name );
Logger.log( raw_range );
if ( raw_range != null ){
Logger.log( range_name );
var tmp_range = raw_range.sort( 1 );
}
...
}
最可能的原因是您在参数中提供了错误的索引。排序函数采用不同类型的参数。在这里查看
https://developers.google.com/apps-script/reference/spreadsheet/range#sortsortspecobj
// Sorts by the values in the first column (A)
range.sort(1);
例如,如果您的命名范围来自 'Sheet1'!D1:D9
排序应该像 range.sort(4);
因此,在您的情况下,将 raw_range.sort( 1 )
更改为 raw_range.sort( raw_range.getColumn())