Class NamedRange
Stay organized with collections
Save and categorize content based on your preferences.
NamedRange
A Range
that has a name and ID to allow later retrieval. Names are not
necessarily unique; several different ranges in the same tab may share the same name, much like a
class in HTML. By contrast, IDs are unique within the tab, like an ID in HTML. Once a NamedRange
has been added to a tab, it cannot be modified, only removed.
A NamedRange
can be accessed by any script that accesses the tab. To avoid unintended
conflicts between scripts, consider prefixing range names with a unique string.
// Create a named range that includes every table in the active tab.
const documentTab =
DocumentApp.getActiveDocument().getActiveTab().asDocumentTab();
const rangeBuilder = documentTab.newRange();
const tables = documentTab.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
rangeBuilder.addElement(tables[i]);
}
documentTab.addNamedRange('myUniquePrefix-tables', rangeBuilder.build());
Methods
Method | Return type | Brief description |
getId() | String | Gets the ID of this NamedRange . |
getName() | String | Gets the name of this NamedRange . |
getRange() | Range | Gets the range of elements associated with this NamedRange . |
remove() | void | Removes this NamedRange from the tab. |
Detailed documentation
getId()
Gets the ID of this NamedRange
. The ID is unique within the tab.
Return
String
— The range's ID, which is unique within the tab.
getName()
Gets the name of this NamedRange
. The name is not necessarily unique.
Return
String
— The range's name, which is not necessarily unique.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getRange()
Gets the range of elements associated with this NamedRange
.
Return
Range
— The range of elements associated with the name and ID.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
remove()
Removes this NamedRange
from the tab. This method doesn't delete the contents of the
range; it merely the removes the reference. Calling this method on a NamedRange
that
has already been removed has no effect.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-02 UTC.
[null,null,["Last updated 2024-12-02 UTC."],[[["\u003cp\u003eA \u003ccode\u003eNamedRange\u003c/code\u003e is a named area within a Google Doc tab, retrievable using its name or unique ID, similar to HTML elements with classes and IDs respectively.\u003c/p\u003e\n"],["\u003cp\u003eWhile multiple ranges can share the same name, IDs are unique within a tab, and once a \u003ccode\u003eNamedRange\u003c/code\u003e is added, it can only be removed, not modified.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eNamedRange\u003c/code\u003e provides methods like \u003ccode\u003egetId()\u003c/code\u003e, \u003ccode\u003egetName()\u003c/code\u003e, \u003ccode\u003egetRange()\u003c/code\u003e, and \u003ccode\u003eremove()\u003c/code\u003e for managing and accessing the named range and its associated elements.\u003c/p\u003e\n"],["\u003cp\u003eScripts can access \u003ccode\u003eNamedRange\u003c/code\u003e within a tab, and using unique prefixes for range names helps avoid conflicts between different scripts.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eNamedRange\u003c/code\u003e methods might require specific authorization scopes for accessing and manipulating document content.\u003c/p\u003e\n"]]],[],null,["# Class NamedRange\n\nNamedRange\n\nA [Range](/apps-script/reference/document/range) that has a name and ID to allow later retrieval. Names are not\nnecessarily unique; several different ranges in the same tab may share the same name, much like a\nclass in HTML. By contrast, IDs are unique within the tab, like an ID in HTML. Once a `Named``Range` has been added to a tab, it cannot be modified, only removed.\n\nA `Named``Range` can be accessed by any script that accesses the tab. To avoid unintended\nconflicts between scripts, consider prefixing range names with a unique string.\n\n```javascript\n// Create a named range that includes every table in the active tab.\nconst documentTab =\n DocumentApp.getActiveDocument().getActiveTab().asDocumentTab();\nconst rangeBuilder = documentTab.newRange();\nconst tables = documentTab.getBody().getTables();\nfor (let i = 0; i \u003c tables.length; i++) {\n rangeBuilder.addElement(tables[i]);\n}\ndocumentTab.addNamedRange('myUniquePrefix-tables', rangeBuilder.build());\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------|------------------------------------------------|-----------------------------------------------------------------|\n| [getId()](#getId()) | `String` | Gets the ID of this `Named``Range`. |\n| [getName()](#getName()) | `String` | Gets the name of this `Named``Range`. |\n| [getRange()](#getRange()) | [Range](/apps-script/reference/document/range) | Gets the range of elements associated with this `Named``Range`. |\n| [remove()](#remove()) | `void` | Removes this `Named``Range` from the tab. |\n\nDetailed documentation\n----------------------\n\n### `get``Id()`\n\nGets the ID of this `Named``Range`. The ID is unique within the tab.\n\n#### Return\n\n\n`String` --- The range's ID, which is unique within the tab.\n\n*** ** * ** ***\n\n### `get``Name()`\n\nGets the name of this `Named``Range`. The name is not necessarily unique.\n\n#### Return\n\n\n`String` --- The range's name, which is not necessarily unique.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Range()`\n\nGets the range of elements associated with this `Named``Range`.\n\n#### Return\n\n\n[Range](/apps-script/reference/document/range) --- The range of elements associated with the name and ID.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `remove()`\n\nRemoves this `Named``Range` from the tab. This method doesn't delete the contents of the\nrange; it merely the removes the reference. Calling this method on a `Named``Range` that\nhas already been removed has no effect.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`"]]