首页 > 解决方案 > getRangeByName('namedRange') 仅适用于 ActiveSheet?

问题描述

var ss = SpreadsheetApp.openById("xyxyxyxyxyxyxyxyxy");
var ws = ss.getSheetByName("CUSTOMER_EMAILS");
var SheetDataRange = ws.getRangeByName("rngRangeName");

为什么这个 getRangeByName 对这种类型的工作表名称访问不起作用,它只有在我有 ActiveSheet 对象时才起作用?有解决方法吗?

标签: google-apps-script

解决方案


命名范围是在电子表格上设置的,而不是在工作表上。

因此,getRangeByName()是类上的一个函数Spreadsheet。你不能/不能用一张纸来称呼它。

请参阅https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getRangeByName(String)

var ss = SpreadsheetApp.openById("xyxyxyxyxyxyxyxyxy");
var SheetDataRange = ss.getRangeByName("rngRangeName");

推荐阅读