Class Range
Stay organized with collections
Save and categorize content based on your preferences.
Range
A range of elements in a document. The user's selection is represented as a Range
, among
other uses. Scripts can only access the selection of the user who is running the script, and only
if the script is bound to the document.
// Bold all selected text.
const selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
const elements = selection.getRangeElements();
for (let i = 0; i < elements.length; i++) {
const element = elements[i];
// Only modify elements that can be edited as text; skip images and other
// non-text elements.
if (element.getElement().editAsText) {
const text = element.getElement().editAsText();
// Bold the selected part of the element, or the full element if it's
// completely selected.
if (element.isPartial()) {
text.setBold(
element.getStartOffset(),
element.getEndOffsetInclusive(),
true,
);
} else {
text.setBold(true);
}
}
}
}
Methods
Method | Return type | Brief description |
getRangeElements() | RangeElement[] | Gets all elements in this Range , including any partial Text elements (for example, in the case
of a selection that includes only part of a Text element). |
Deprecated methods
Method | Return type | Brief description |
getSelectedElements()
| RangeElement[] | Gets all elements that the user has selected in the open instance of the document, including
any partially selected Text
elements. |
Detailed documentation
getRangeElements()
Gets all elements in this Range
, including any partial Text
elements (for example, in the case
of a selection that includes only part of a Text
element). To determine whether a
Text
element is only partially included in the range, see RangeElement.isPartial()
.
Return
RangeElement[]
— an array of elements, in the order they appear in the document
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
Deprecated methods
getSelectedElements()
Deprecated. Renamed to getRangeElements()
.
Gets all elements that the user has selected in the open instance of the document, including
any partially selected Text
elements.
Return
RangeElement[]
— an array of selected or partially selected elements, in the order they appear in the
document
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\u003eRange\u003c/code\u003e represents a range of elements in a Google Doc, often used to represent the user's selection.\u003c/p\u003e\n"],["\u003cp\u003eScripts can only access the selection of the user who is running them within the bound document.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetRangeElements()\u003c/code\u003e method retrieves all elements within the range, including partially selected text elements.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetSelectedElements()\u003c/code\u003e method is deprecated and has been replaced by \u003ccode\u003egetRangeElements()\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class Range\n\nRange\n\nA range of elements in a document. The user's selection is represented as a `Range`, among\nother uses. Scripts can only access the selection of the user who is running the script, and only\nif the script is [bound](/apps-script/scripts_containers) to the document.\n\n```javascript\n// Bold all selected text.\nconst selection = DocumentApp.getActiveDocument().getSelection();\nif (selection) {\n const elements = selection.getRangeElements();\n for (let i = 0; i \u003c elements.length; i++) {\n const element = elements[i];\n\n // Only modify elements that can be edited as text; skip images and other\n // non-text elements.\n if (element.getElement().editAsText) {\n const text = element.getElement().editAsText();\n\n // Bold the selected part of the element, or the full element if it's\n // completely selected.\n if (element.isPartial()) {\n text.setBold(\n element.getStartOffset(),\n element.getEndOffsetInclusive(),\n true,\n );\n } else {\n text.setBold(true);\n }\n }\n }\n}\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------|-----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [getRangeElements()](#getRangeElements()) | [RangeElement[]](/apps-script/reference/document/range-element) | Gets all elements in this `Range`, including any partial [Text](/apps-script/reference/document/text) elements (for example, in the case of a selection that includes only part of a `Text` element). |\n\n### Deprecated methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [getSelectedElements()](#getSelectedElements()) | [RangeElement[]](/apps-script/reference/document/range-element) | Gets all elements that the user has selected in the open instance of the document, including any partially selected [Text](/apps-script/reference/document/text) elements. |\n\nDetailed documentation\n----------------------\n\n### `get``Range``Elements()`\n\nGets all elements in this `Range`, including any partial [Text](/apps-script/reference/document/text) elements (for example, in the case\nof a selection that includes only part of a `Text` element). To determine whether a\n`Text` element is only partially included in the range, see [RangeElement.isPartial()](/apps-script/reference/document/range-element#isPartial()).\n\n#### Return\n\n\n[RangeElement[]](/apps-script/reference/document/range-element) --- an array of elements, in the order they appear in the document\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\nDeprecated methods\n------------------\n\n### `get``Selected``Elements()`\n\n\n**Deprecated.** Renamed to [getRangeElements()](#getRangeElements()).\n\nGets all elements that the user has selected in the open instance of the document, including\nany partially selected [Text](/apps-script/reference/document/text)\nelements.\n\n#### Return\n\n\n[RangeElement[]](/apps-script/reference/document/range-element) --- an array of selected or partially selected elements, in the order they appear in the\ndocument\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`"]]