Stay organized with collections
Save and categorize content based on your preferences.
DocumentApp
The document service creates and opens Documents that can be edited.
// Open a document by ID.// TODO(developer): Replace the ID with your own.letdoc=DocumentApp.openById('DOCUMENT_ID');// Create and open a document.doc=DocumentApp.create('Document Name');
Scripts that use this method require authorization with one or more of the following scopes:
https://www.googleapis.com/auth/documents
getActiveDocument()
Returns the document to which the script is container-bound. To interact with document to which
the script is not container-bound, use openById(id) or openByUrl(url)
instead.
// Get the document to which this script is bound.constdoc=DocumentApp.getActiveDocument();
Returns an instance of the document's user-interface environment that allows the script to add
features like menus, dialogs, and sidebars. A script can only interact with the UI for the
current instance of an open document, and only if the script is bound to the document. For more information, see the
guides to menus and dialogs and sidebars.
// Add a custom menu to the active document, including a separator and a// sub-menu.functiononOpen(e){DocumentApp.getUi().createMenu('My Menu').addItem('My menu item','myFunction').addSeparator().addSubMenu(DocumentApp.getUi().createMenu('My sub-menu').addItem('One sub-menu item','mySecondFunction').addItem('Another sub-menu item','myThirdFunction'),).addToUi();}
Return
Ui — an instance of this document's user-interface environment
openById(id)
Returns the document with the specified ID. If the script is container-bound to the document,
use getActiveDocument() instead.
// Open a document by ID.// TODO(developer): Replace the ID with your own.constdoc=DocumentApp.openById('DOCUMENT_ID');
[[["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\u003eThe \u003ccode\u003eDocumentApp\u003c/code\u003e service in Google Apps Script allows you to programmatically create, open, and edit Google Documents.\u003c/p\u003e\n"],["\u003cp\u003eYou can open existing documents using their ID or URL, or create new documents with a specified name.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDocumentApp\u003c/code\u003e provides access to a document's user interface, enabling features like custom menus, dialogs, and sidebars.\u003c/p\u003e\n"],["\u003cp\u003eIt offers a variety of properties and methods to manipulate document content, formatting, and elements.\u003c/p\u003e\n"],["\u003cp\u003eUsing this service requires specific authorization scopes related to document access and modification.\u003c/p\u003e\n"]]],[],null,["DocumentApp\n\nThe document service creates and opens [Documents](/apps-script/reference/document/document) that can be edited.\n\n```javascript\n// Open a document by ID.\n// TODO(developer): Replace the ID with your own.\nlet doc = DocumentApp.openById('DOCUMENT_ID');\n\n// Create and open a document.\ndoc = DocumentApp.create('Document Name');\n``` \n\nProperties\n\n| Property | Type | Description |\n|-------------------------|-----------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|\n| `Attribute` | [Attribute](/apps-script/reference/document/attribute) | The [Attribute](/apps-script/reference/document/attribute) enumeration. |\n| `Element``Type` | [ElementType](/apps-script/reference/document/element-type) | The [ElementType](/apps-script/reference/document/element-type) enumeration. |\n| `Font``Family` | [FontFamily](/apps-script/reference/document/font-family) | The [FontFamily](/apps-script/reference/document/font-family) enumeration. |\n| `Glyph``Type` | [GlyphType](/apps-script/reference/document/glyph-type) | The [GlyphType](/apps-script/reference/document/glyph-type) enumeration. |\n| `Horizontal``Alignment` | [HorizontalAlignment](/apps-script/reference/document/horizontal-alignment) | The [HorizontalAlignment](/apps-script/reference/document/horizontal-alignment) enumeration. |\n| `Paragraph``Heading` | [ParagraphHeading](/apps-script/reference/document/paragraph-heading) | The [ParagraphHeading](/apps-script/reference/document/paragraph-heading) enumeration. |\n| `Positioned``Layout` | [PositionedLayout](/apps-script/reference/document/positioned-layout) | The [PositionedLayout](/apps-script/reference/document/positioned-layout) enumeration. |\n| `Text``Alignment` | [TextAlignment](/apps-script/reference/document/text-alignment) | The [TextAlignment](/apps-script/reference/document/text-alignment) enumeration. |\n| `Vertical``Alignment` | [VerticalAlignment](/apps-script/reference/document/vertical-alignment) | The [VerticalAlignment](/apps-script/reference/document/vertical-alignment) enumeration. |\n\nMethods\n\n| Method | Return type | Brief description |\n|---------------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|\n| [create(name)](#create(String)) | [Document](/apps-script/reference/document/document) | Creates and returns a new document. |\n| [getActiveDocument()](#getActiveDocument()) | [Document](/apps-script/reference/document/document) | Returns the document to which the script is [container-bound](/apps-script/scripts_containers). |\n| [getUi()](#getUi()) | [Ui](../base/ui.html) | Returns an instance of the document's user-interface environment that allows the script to add features like menus, dialogs, and sidebars. |\n| [openById(id)](#openById(String)) | [Document](/apps-script/reference/document/document) | Returns the document with the specified ID. |\n| [openByUrl(url)](#openByUrl(String)) | [Document](/apps-script/reference/document/document) | Opens and returns the document with the specified URL. |\n\nDetailed documentation \n\n`create(name)` \nCreates and returns a new document.\n\n```javascript\n// Create and open a new document.\nconst doc = DocumentApp.create('Document Name');\n```\n\nParameters\n\n| Name | Type | Description |\n|--------|----------|--------------------------|\n| `name` | `String` | The new document's name. |\n\nReturn\n\n\n[Document](/apps-script/reference/document/document) --- The new document instance.\n\nAuthorization\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`\n\n*** ** * ** ***\n\n`get``Active``Document()` \nReturns the document to which the script is [container-bound](/apps-script/scripts_containers). To interact with document to which\nthe script is not container-bound, use [openById(id)](#openById(String)) or [openByUrl(url)](#openByUrl(String))\ninstead.\n\n```javascript\n// Get the document to which this script is bound.\nconst doc = DocumentApp.getActiveDocument();\n```\n\nReturn\n\n\n[Document](/apps-script/reference/document/document) --- the document instance\n\nAuthorization\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``Ui()` \nReturns an instance of the document's user-interface environment that allows the script to add\nfeatures like menus, dialogs, and sidebars. A script can only interact with the UI for the\ncurrent instance of an open document, and only if the script is [bound](/apps-script/scripts_containers) to the document. For more information, see the\nguides to [menus](/apps-script/guides/menus) and [dialogs and sidebars](/apps-script/guides/dialogs).\n\n```javascript\n// Add a custom menu to the active document, including a separator and a\n// sub-menu.\nfunction onOpen(e) {\n DocumentApp.getUi()\n .createMenu('My Menu')\n .addItem('My menu item', 'myFunction')\n .addSeparator()\n .addSubMenu(\n DocumentApp.getUi()\n .createMenu('My sub-menu')\n .addItem('One sub-menu item', 'mySecondFunction')\n .addItem('Another sub-menu item', 'myThirdFunction'),\n )\n .addToUi();\n}\n```\n\nReturn\n\n\n[Ui](../base/ui.html) --- an instance of this document's user-interface environment\n\n*** ** * ** ***\n\n`open``By``Id(id)` \nReturns the document with the specified ID. If the script is container-bound to the document,\nuse [getActiveDocument()](#getActiveDocument()) instead.\n\n```javascript\n// Open a document by ID.\n// TODO(developer): Replace the ID with your own.\nconst doc = DocumentApp.openById('DOCUMENT_ID');\n```\n\nParameters\n\n| Name | Type | Description |\n|------|----------|---------------------------------|\n| `id` | `String` | The ID of the document to open. |\n\nReturn\n\n\n[Document](/apps-script/reference/document/document) --- The document instance.\n\nAuthorization\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`\n\n*** ** * ** ***\n\n`open``By``Url(url)` \nOpens and returns the document with the specified URL. If the script is container-bound to the\ndocument, use [getActiveDocument()](#getActiveDocument()) instead.\n\n```javascript\n// Open a document by URL.\nconst doc = DocumentApp.openByUrl(\n 'https://docs.google.com/document/d/1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3/edit',\n);\n```\n\nParameters\n\n| Name | Type | Description |\n|-------|----------|---------------------------------|\n| `url` | `String` | the URL of the document to open |\n\nReturn\n\n\n[Document](/apps-script/reference/document/document) --- the document instance\n\nAuthorization\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`"]]