0
ss.getRangeByName('name').
返回一个范围。但是它不应该返回一个NamedRange对象,因为它显然被命名了?这导致现在不得不调用getNamedRanges()方法,该方法返回一个数组中的所有NamedRange对象,如果可能,我会尽量避免。获取命名范围对象的名称而不获取命名范围数组 - 谷歌表格
ss.getRangeByName('name').
返回一个范围。但是它不应该返回一个NamedRange对象,因为它显然被命名了?这导致现在不得不调用getNamedRanges()方法,该方法返回一个数组中的所有NamedRange对象,如果可能,我会尽量避免。获取命名范围对象的名称而不获取命名范围数组 - 谷歌表格
据我所知,它是如预期运行。正如文件中指出:如果没有一系列具有给定名称找到
- 返回一个命名的范围,或者为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());
}
希望这会有所帮助。
感谢您的文档,我想我的观点是这样的:如果我决定将getRangeByName的返回值放入说,变量'范围' - 我无法以后检查范围的名称(即使我知道它有一个!)。我想这是因为Range对象不能算作名字,只有NamedRange会有这个名字。然而,我得到这个,它很烦人,它可能会返回'null'或者其他东西来避免这个问题。你来自哪里? –