Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Las secuencias de comandos pueden extender ciertos productos de Google agregando elementos de la interfaz de usuario que, cuando se hace clic en ellos, ejecutan una función de Apps Script. El ejemplo más común es ejecutar una secuencia de comandos desde un elemento de menú personalizado en Documentos, Hojas de cálculo, Presentaciones o Formularios de Google, pero las funciones de secuencias de comandos también se pueden activar haciendo clic en imágenes y dibujos en Hojas de cálculo de Google.
Menús personalizados en Documentos, Hojas de cálculo, Presentaciones o Formularios de Google
Apps Script puede agregar menús nuevos en Documentos, Hojas de cálculo, Presentaciones o Formularios de Google, y cada elemento del menú está vinculado a una función en una secuencia de comandos. (En Formularios de Google, los menús personalizados solo son visibles para un editor que abre el formulario para modificarlo, no para un usuario que lo abre para responderlo).
Una secuencia de comandos solo puede crear un menú si está vinculada al documento, la hoja de cálculo o el formulario. Para mostrar el menú cuando el usuario abra un archivo, escribe el código del menú dentro de una función onOpen().
En el siguiente ejemplo, se muestra cómo agregar un menú con un elemento, seguido de un separador visual y, luego, un submenú que contiene otro elemento. (Ten en cuenta que, en Hojas de cálculo de Google, a menos que uses la nueva versión, debes usar la sintaxis addMenu() y no es posible usar submenús). Cuando el usuario selecciona cualquiera de los elementos del menú, una función correspondiente abre un diálogo de alerta. Para obtener más información sobre los tipos de diálogos que puedes abrir, consulta la guía de diálogos y barras laterales.
functiononOpen(){varui=SpreadsheetApp.getUi();//OrDocumentApp,SlidesApporFormApp.ui.createMenu('Custom Menu').addItem('First item','menuItem1').addSeparator().addSubMenu(ui.createMenu('Sub-menu').addItem('Second item','menuItem2')).addToUi();}functionmenuItem1(){SpreadsheetApp.getUi()//OrDocumentApp,SlidesApporFormApp..alert('You clicked the first menu item!');}functionmenuItem2(){SpreadsheetApp.getUi()//OrDocumentApp,SlidesApporFormApp..alert('You clicked the second menu item!');}
Un documento, una hoja de cálculo, una presentación o un formulario solo pueden contener un menú con un nombre determinado. Si la misma secuencia de comandos o alguna otra agrega un menú con el mismo nombre, el menú nuevo reemplaza al anterior. No se pueden quitar los menús mientras el archivo está abierto, aunque puedes escribir tu función onOpen() para omitir el menú en el futuro si se establece una determinada propiedad.
Imágenes y dibujos en los que se puede hacer clic en Hojas de cálculo de Google
También puedes asignar una función de Apps Script a una imagen o un dibujo en Hojas de cálculo de Google, siempre y cuando la secuencia de comandos esté vinculada a la hoja de cálculo. En el siguiente ejemplo, se muestra cómo configurar esto.
En Hojas de cálculo de Google, selecciona el elemento de menú Extensiones>Apps Script para crear una secuencia de comandos vinculada a la hoja de cálculo.
Borra cualquier código que haya en el editor de secuencias de comandos y pega el código que se encuentra a continuación.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
Vuelve a Hojas de cálculo y selecciona Insertar > Imagen o Insertar > Dibujo para insertar una imagen o un dibujo.
Después de insertar la imagen o el dibujo, haz clic en él. Aparecerá un pequeño selector de menú desplegable en la esquina superior derecha. Haz clic en él y elige Asignar secuencia de comandos.
En el cuadro de diálogo que aparece, escribe el nombre de la función de Apps Script que deseas ejecutar, sin paréntesis (en este caso, showMessageBox). Haz clic en OK.
Vuelve a hacer clic en la imagen o el dibujo. Ahora se ejecuta la función.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-04 (UTC)"],[[["\u003cp\u003eApps Script allows you to extend Google products like Docs, Sheets, Slides, and Forms by adding custom menus and clickable elements that trigger script functions.\u003c/p\u003e\n"],["\u003cp\u003eCustom menus can be created within these Google products, with each menu item linked to a specific function in your script, enhancing user interaction and functionality.\u003c/p\u003e\n"],["\u003cp\u003eIn Google Sheets, you can assign Apps Script functions to images and drawings, making them interactive elements that execute code when clicked in a web browser.\u003c/p\u003e\n"]]],[],null,["Scripts can extend certain Google products by adding user-interface elements\nthat, when clicked, execute an Apps Script function. The most common example is\nrunning a script from a custom menu item in Google Docs, Sheets, Slides,\nor Forms, but script functions can also be triggered by clicking on images and\ndrawings in Google Sheets.\n\nCustom menus in Google Docs, Sheets, Slides, or Forms\n\nApps Script can add new menus in Google Docs, Sheets, Slides,\nor Forms, with\neach menu item tied to a function in a script. (In Google Forms, custom menus\nare visible only to an editor who opens the form to modify it, not to a user who\nopens the form to respond.)\n\nA script can only create a menu if it is\n[bound](/apps-script/scripts_containers) to the document, spreadsheet, or form.\nTo display the menu when the user opens a file, write the menu code within an\n[`onOpen()`](/apps-script/understanding_triggers) function.\n\nThe example below shows how to add a [menu](/apps-script/reference/base/menu)\nwith one item, followed by a\n[visual separator](/apps-script/reference/base/menu#addSeparator()), then a\n[sub-menu](/apps-script/reference/base/menu#addSubMenu(Menu)) that contains\nanother item. (Note that in Google Sheets, unless you're using the\n[new version](https://support.google.com/drive/answer/3541068), you must use the\n[`addMenu()`](/apps-script/reference/spreadsheet/spreadsheet#addMenu(String,Object))\nsyntax instead, and sub-menus are not possible.) When the user selects either\nmenu item, a corresponding function opens an\n[alert](/apps-script/reference/base/ui#alert(String)) dialog. For more\ninformation on the types of dialogs you can open, see the\n[guide to dialogs and sidebars](/apps-script/guides/dialogs). \n\n function onOpen() {\n var ui = SpreadsheetApp.getUi();\n // Or DocumentApp, SlidesApp or FormApp.\n ui.createMenu('Custom Menu')\n .addItem('First item', 'menuItem1')\n .addSeparator()\n .addSubMenu(ui.createMenu('Sub-menu')\n .addItem('Second item', 'menuItem2'))\n .addToUi();\n }\n\n function menuItem1() {\n SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.\n .alert('You clicked the first menu item!');\n }\n\n function menuItem2() {\n SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.\n .alert('You clicked the second menu item!');\n }\n\nA document, spreadsheet, presentation, or form can only contain one menu with\na given name. If the same script or another script adds a menu with the same\nname, the new menu replaces the old. Menus cannot be removed while the file\nis open, although you can write your `onOpen()` function to skip the menu in\nthe future if a certain [property](/apps-script/guides/properties) is set.\n| **Note:** [Editor add-ons](/workspace/add-ons/concepts/types#editor_add-ons) can have menu items as well, but use [special rules](/workspace/add-ons/concepts/menus) they are defined.\n\nClickable images and drawings in Google Sheets\n\nYou can also assign an Apps Script function to an image or drawing in Google Sheets,\nso long as the script is [bound](/apps-script/scripts_containers) to the\nspreadsheet. The example below shows how to set this up.\n\n1. In Google Sheets, select the menu item **Extensions** \\\u003e **Apps Script** to create a script that is bound to the spreadsheet.\n2. Delete any code in the script editor and paste in the code below.\n\n function showMessageBox() {\n Browser.msgBox('You clicked it!');\n }\n\n3. Return to Sheets and insert an image or drawing by selecting\n **Insert \\\u003e Image** or **Insert \\\u003e Drawing**.\n\n4. After inserting the image or drawing, click it. A small drop-down menu\n selector appears in the top right-hand corner. Click it and choose\n **Assign script**.\n\n5. In the dialog box that appears, type the name of the Apps Script function\n that you want to run, without parentheses --- in this case, `showMessageBox`.\n Click **OK**.\n\n6. Click the image or drawing again. The function now executes.\n\n| **Note:** The script execution is only triggered by clicking the image or drawing in a web browser. The script doesn't execute if the image or drawing is clicked on mobile."]]