Stay organized with collectionsSave and categorize content based on your preferences.
RangeElement
A wrapper around anElementwith a possible start and end offset. These offsets allow a
range of characters within aTextelement to be represented in search results, document selections, and named ranges.
Determines whether this range element covers the entire element or a partial selection of the
element's characters.
Detailed documentation
getElement()
Gets theElementthat corresponds to thisRangeElement.
constrangeElement=DocumentApp.getActiveDocument().getSelection().getRangeElements()[0];// Log debug information about a range element.Logger.log(`Element type:${rangeElement.getElement().getType()}`);if(rangeElement.isPartial()){Logger.log(`The character range begins at${rangeElement.getStartOffset()}`);Logger.log(`The character range ends at${rangeElement.getEndOffsetInclusive()}`,);}else{Logger.log('The entire range element is included.');}
Return
Element— the element that corresponds to thisRangeElement
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
Gets the position of the end of a partial range within the range element. If the element is aTextelement andisPartial()returnstrue, the offset is the number of characters before the last
character in the range (that is, the index of the last character in the range); in any other
case, this method returns-1.
Return
Integer— forTextelements, the
number of character before the last character in the range; for other elements,-1
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
Gets the position of the start of a partial range within the range element. If the element is aTextelement andisPartial()returnstrue, the offset is the number of characters before the start of
the range (that is, the index of the first character in the range); in any other case, this
method returns-1.
Return
Integer— forTextelements, the
number of characters before the start of the range; for other elements,-1
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
Determines whether this range element covers the entire element or a partial selection of the
element's characters. The beginning and end of a partial range element's range can be
determined usinggetStartOffset()andgetEndOffsetInclusive(), respectively.
Return
Boolean—trueif the element is partially included;falseif not
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-02 UTC."],[[["\u003cp\u003e\u003ccode\u003eRangeElement\u003c/code\u003e is a wrapper around an \u003ccode\u003eElement\u003c/code\u003e that can represent a range of characters within a \u003ccode\u003eText\u003c/code\u003e element.\u003c/p\u003e\n"],["\u003cp\u003eIt is used in search results, document selections, and named ranges, allowing for partial or full element selection.\u003c/p\u003e\n"],["\u003cp\u003eYou can get the corresponding \u003ccode\u003eElement\u003c/code\u003e, determine if the range is partial, and find the start and end positions of partial ranges using its methods.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRangeElement\u003c/code\u003e methods require authorization with specific scopes, like \u003ccode\u003ehttps://www.googleapis.com/auth/documents\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class RangeElement\n\nRangeElement\n\nA wrapper around an [Element](/apps-script/reference/document/element) with a possible start and end offset. These offsets allow a\nrange of characters within a [Text](/apps-script/reference/document/text)\nelement to be represented in search results, document selections, and named ranges. \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------------|----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|\n| [getElement()](#getElement()) | [Element](/apps-script/reference/document/element) | Gets the [Element](/apps-script/reference/document/element) that corresponds to this `Range``Element`. |\n| [getEndOffsetInclusive()](#getEndOffsetInclusive()) | `Integer` | Gets the position of the end of a partial range within the range element. |\n| [getStartOffset()](#getStartOffset()) | `Integer` | Gets the position of the start of a partial range within the range element. |\n| [isPartial()](#isPartial()) | `Boolean` | Determines whether this range element covers the entire element or a partial selection of the element's characters. |\n\nDetailed documentation\n----------------------\n\n### `get``Element()`\n\nGets the [Element](/apps-script/reference/document/element) that corresponds to this `Range``Element`.\n\n```javascript\nconst rangeElement = DocumentApp.getActiveDocument().getSelection().getRangeElements()[0];\n\n// Log debug information about a range element.\nLogger.log(`Element type: ${rangeElement.getElement().getType()}`);\nif (rangeElement.isPartial()) {\n Logger.log(`The character range begins at ${rangeElement.getStartOffset()}`);\n Logger.log(\n `The character range ends at ${rangeElement.getEndOffsetInclusive()}`,\n );\n} else {\n Logger.log('The entire range element is included.');\n}\n```\n\n#### Return\n\n\n[Element](/apps-script/reference/document/element) --- the element that corresponds to this `Range``Element`\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``End``Offset``Inclusive()`\n\nGets the position of the end of a partial range within the range element. If the element is a\n[Text](/apps-script/reference/document/text) element and [isPartial()](#isPartial()) returns `true`, the offset is the number of characters before the last\ncharacter in the range (that is, the index of the last character in the range); in any other\ncase, this method returns `-1`.\n\n#### Return\n\n\n`Integer` --- for [Text](/apps-script/reference/document/text) elements, the\nnumber of character before the last character in the range; for other elements, `-1`\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``Start``Offset()`\n\nGets the position of the start of a partial range within the range element. If the element is a\n[Text](/apps-script/reference/document/text) element and [isPartial()](#isPartial()) returns `true`, the offset is the number of characters before the start of\nthe range (that is, the index of the first character in the range); in any other case, this\nmethod returns `-1`.\n\n#### Return\n\n\n`Integer` --- for [Text](/apps-script/reference/document/text) elements, the\nnumber of characters before the start of the range; for other elements, `-1`\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### `is``Partial()`\n\nDetermines whether this range element covers the entire element or a partial selection of the\nelement's characters. The beginning and end of a partial range element's range can be\ndetermined using [getStartOffset()](#getStartOffset()) and [getEndOffsetInclusive()](#getEndOffsetInclusive()), respectively.\n\n#### Return\n\n\n`Boolean` --- `true` if the element is partially included; `false` if not\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`"]]