Stay organized with collections Save and categorize content based on your preferences.
google.script.host is an asynchronous client-side JavaScript API that can interact with dialogs or sidebars in Google Docs, Sheets, or Forms that contain HTML-service pages. To execute server-side functions from client-side code, use google.script.run. For more information, see the guide to communicating with server functions in HTML service.
Properties
Property
Description
origin
Provides the host domain, so scripts can set their origin correctly.
function onOpen(e) { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi(); } function showSidebar() { var html = HtmlService.createHtmlOutputFromFile('Index'); SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .showSidebar(html); }
Switches browser focus from the dialog or sidebar to the Google Docs, Sheets, or Forms editor.
Code.gs
function onOpen(e) { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi(); } function showSidebar() { var html = HtmlService.createHtmlOutputFromFile('Index'); SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .showSidebar(html); }
function onOpen(e) { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Dialog').addItem('Show', 'showDialog').addToUi(); } function showDialog() { var html = HtmlService.createHtmlOutputFromFile('Index') .setWidth(300) .setHeight(200); SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .showModalDialog(html, 'Dialog title'); }
function onOpen(e) { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Dialog').addItem('Show', 'showDialog').addToUi(); } function showDialog() { var html = HtmlService.createHtmlOutputFromFile('Index') .setWidth(300) .setHeight(200); SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .showModalDialog(html, 'Dialog title'); }
[[["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-10-31 UTC."],[[["\u003cp\u003e\u003ccode\u003egoogle.script.host\u003c/code\u003e is an asynchronous client-side JavaScript API used to interact with dialogs or sidebars in Google Docs, Sheets, or Forms containing HTML service pages.\u003c/p\u003e\n"],["\u003cp\u003eTo execute server-side functions from client-side code within these dialogs or sidebars, utilize \u003ccode\u003egoogle.script.run\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe API provides methods like \u003ccode\u003eclose()\u003c/code\u003e, \u003ccode\u003eeditor.focus()\u003c/code\u003e, \u003ccode\u003esetHeight(height)\u003c/code\u003e, and \u003ccode\u003esetWidth(width)\u003c/code\u003e for controlling dialog and sidebar behavior.\u003c/p\u003e\n"],["\u003cp\u003eWhile \u003ccode\u003egoogle.script.host\u003c/code\u003e focuses on client-side interactions within HTML service pages, server-side communication is handled through \u003ccode\u003egoogle.script.run\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egoogle.script.host\u003c/code\u003e enables developers to create dynamic and interactive user interfaces within Google Workspace applications by seamlessly integrating client-side JavaScript with server-side Apps Script functionality.\u003c/p\u003e\n"]]],[],null,["`google.script.host` is an asynchronous client-side JavaScript API that can interact\nwith dialogs or sidebars in Google Docs, Sheets, or Forms that contain\n[HTML-service pages](/apps-script/guides/html). To execute server-side functions from\nclient-side code, use [`google.script.run`](/apps-script/guides/html/reference/run). For more information, see\nthe\n[guide to communicating with server functions](/apps-script/guides/html/communication)\nin HTML service. \n\nProperties\n\n| Property | Description |\n|----------|----------------------------------------------------------------------|\n| `origin` | Provides the host domain, so scripts can set their origin correctly. |\n\nMethods\n\n| Method | Return type | Brief description |\n|------------------------------------------|-------------|------------------------------------------------------------------------------------------------|\n| [close()](#close()) | `void` | Closes the current dialog or sidebar. |\n| [editor.focus()](#editor.focus()) | `void` | Switches browser focus from the dialog or sidebar to the Google Docs, Sheets, or Forms editor. |\n| [setHeight(height)](#setHeight(Integer)) | `void` | Sets the height of the current dialog. |\n| [setWidth(width)](#setWidth(Integer)) | `void` | Sets the width of the current dialog. |\n\nDetailed documentation \n\n`close()`\n\nCloses the current dialog or sidebar. \n\nCode.gs \n\n```html\nfunction onOpen(e) {\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi();\n}\n\nfunction showSidebar() {\n var html = HtmlService.createHtmlOutputFromFile('Index');\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .showSidebar(html);\n}\n```\n\nIndex.html \n\n```html\n\u003cinput type=\"button\" value=\"Close\"\n onclick=\"google.script.host.close()\" /\u003e\n```\n\n*** ** * ** ***\n\n`editor.focus()`\n\nSwitches browser focus from the dialog or sidebar to the Google Docs, Sheets, or Forms editor. \n\nCode.gs \n\n```html\nfunction onOpen(e) {\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi();\n}\n\nfunction showSidebar() {\n var html = HtmlService.createHtmlOutputFromFile('Index');\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .showSidebar(html);\n}\n```\n\nIndex.html \n\n```html\n\u003cinput type=\"button\" value=\"Switch focus\"\n onclick=\"google.script.host.editor.focus()\" /\u003e\n```\n\n*** ** * ** ***\n\n`setHeight(height)`\n\nSets the height of the current dialog. \n\nCode.gs \n\n```html\nfunction onOpen(e) {\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .createMenu('Dialog').addItem('Show', 'showDialog').addToUi();\n}\n\nfunction showDialog() {\n var html = HtmlService.createHtmlOutputFromFile('Index')\n .setWidth(300)\n .setHeight(200);\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .showModalDialog(html, 'Dialog title');\n}\n```\n\nIndex.html \n\n```html\n\u003cscript\u003e\n function resizeDialog(width, height) {\n google.script.host.setWidth(width);\n google.script.host.setHeight(height);\n }\n\u003c/script\u003e\n\u003cinput type=\"button\" value=\"Resize dialog\"\n onclick=\"resizeDialog(450, 300)\" /\u003e\n```\n\nParameters\n\n| Name | Type | Description |\n|----------|-----------|---------------------------|\n| `height` | `Integer` | the new height, in pixels |\n\n*** ** * ** ***\n\n`setWidth(width)`\n\nSets the width of the current dialog. \n\nCode.gs \n\n```html\nfunction onOpen(e) {\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .createMenu('Dialog').addItem('Show', 'showDialog').addToUi();\n}\n\nfunction showDialog() {\n var html = HtmlService.createHtmlOutputFromFile('Index')\n .setWidth(300)\n .setHeight(200);\n SpreadsheetApp.getUi() // Or DocumentApp or FormApp.\n .showModalDialog(html, 'Dialog title');\n}\n```\n\nIndex.html \n\n```html\n\u003cscript\u003e\n function resizeDialog(width, height) {\n google.script.host.setWidth(width);\n google.script.host.setHeight(height);\n }\n\u003c/script\u003e\n\u003cinput type=\"button\" value=\"Resize dialog\"\n onclick=\"resizeDialog(450, 300)\" /\u003e\n```\n\nParameters\n\n| Name | Type | Description |\n|---------|-----------|--------------------------|\n| `width` | `Integer` | the new width, in pixels |"]]