ss.getRangeByName('name').
返回一个Range。但它不应该返回一个NamedRange对象,因为它显然被命名了吗?这导致必须现在调用getNamedRanges()的问题,它返回数组中的所有NamedRange对象,如果可能的话我想避免它。
答案 0 :(得分:0)
AFAIK,它按预期工作。如文件中所述:
- 返回命名范围,如果未找到具有给定名称的范围,则返回null。如果电子表格的多个工作表使用相同的范围名称,请指定工作表名称而不使用其他引号 - 例如,
getRangeByName('TaxRates') or getRangeByName('Sheet Name!TaxRates'), but not getRangeByName('"Sheet Name"!TaxRates')
。
在此代码中,不是列出所有命名范围并访问范围。我们使用getRangeByName(name)
在返回Range
时直接访问该范围。
// Log the number of columns for the range named 'TaxRates' in the active spreadsheet.
var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('TaxRates');
if (range != null) {
Logger.log(range.getNumColumns());
}
希望这有帮助。