Una instancia del entorno de la interfaz de usuario de una app de Google que permite a la secuencia de comandos agregar funciones como menús, diálogos y barras laterales. Una secuencia de comandos solo puede interactuar con la IU de la instancia actual de un editor abierto y solo si la secuencia de comandos está vinculada con el contenedor al editor.
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
Button | Button | Una enumeración que representa los botones de diálogo localizados predeterminados que muestra una alerta o PromptResponse.getSelectedButton() para indicar en qué botón del diálogo hizo clic el usuario. |
ButtonSet | ButtonSet | Una enumeración que representa conjuntos localizados y predeterminados de uno o más botones de diálogo que se pueden agregar a una alerta o mensaje. |
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
alert(prompt) | Button | Abre un cuadro de diálogo en el editor del usuario con el mensaje dado y el botón "Aceptar". |
alert(prompt, buttons) | Button | Abre un cuadro de diálogo en el editor del usuario con el mensaje y el conjunto de botones indicados. |
alert(title, prompt, buttons) | Button | Abre un cuadro de diálogo en el editor del usuario con el título, el mensaje y el conjunto de botones indicados. |
createAddonMenu() | Menu | Crea un compilador que se puede usar para insertar un submenú en el menú Complementos del editor. |
createMenu(caption) | Menu | Crea un compilador que se puede usar para agregar un menú a la interfaz de usuario del editor. |
prompt(prompt) | PromptResponse | Abre un cuadro de diálogo de entrada en el editor del usuario con el mensaje dado y el botón "Aceptar". |
prompt(prompt, buttons) | PromptResponse | Abre un cuadro de diálogo de entrada en el editor del usuario con el mensaje y el conjunto de botones especificados. |
prompt(title, prompt, buttons) | PromptResponse | Abre un cuadro de diálogo de entrada en el editor del usuario con el título, el mensaje y el conjunto de botones especificados. |
showModalDialog(userInterface, title) | void | Abre un cuadro de diálogo modal en el editor del usuario con contenido personalizado del cliente. |
showModelessDialog(userInterface, title) | void | Abre un cuadro de diálogo sin modo en el editor del usuario con contenido personalizado del cliente. |
showSidebar(userInterface) | void | Abre una barra lateral en el editor del usuario con contenido personalizado del cliente. |
Documentación detallada
alert(prompt)
Abre un cuadro de diálogo en el editor del usuario con el mensaje dado y el botón "Aceptar". Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten durante la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display "Hello, world" in a dialog box with an "OK" button. The user can also close the // dialog by clicking the close button in its title bar. SpreadsheetApp.getUi().alert('Hello, world');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
Volver
Button
: Es el botón en el que el usuario hizo clic.
alert(prompt, buttons)
Abre un cuadro de diálogo en el editor del usuario con el mensaje y el conjunto de botones indicados. Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten durante la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display a dialog box with a message and "Yes" and "No" buttons. The user can also close the // dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
buttons | ButtonSet | El botón configurado para mostrarse en el cuadro de diálogo. |
Volver
Button
: Es el botón en el que el usuario hizo clic.
alert(title, prompt, buttons)
Abre un cuadro de diálogo en el editor del usuario con el título, el mensaje y el conjunto de botones indicados. Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten durante la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display a dialog box with a title, message, and "Yes" and "No" buttons. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Confirm', 'Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
title | String | Título que se mostrará sobre el cuadro de diálogo. |
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
buttons | ButtonSet | El botón configurado para mostrarse en el cuadro de diálogo. |
Volver
Button
: Es el botón en el que el usuario hizo clic.
createAddonMenu()
Crea un compilador que se puede usar para insertar un submenú en el menú Complementos del editor. En realidad, el menú no se actualiza hasta que se llama a Menu.addToUi()
. Si la secuencia de comandos se ejecuta como un complemento, el nombre del submenú coincide con el nombre del complemento en la tienda web; si la secuencia de comandos está vinculada al documento directamente, el nombre del submenú coincide con el nombre de la secuencia de comandos. Para obtener más información, consulta la guía de menús.
// Add an item to the Add-on menu, under a sub-menu whose name is set automatically. function onOpen(e) { SpreadsheetApp.getUi() .createAddonMenu() .addItem('Show', 'showSidebar') .addToUi(); }
Volver
Menu
: Es el nuevo compilador de menú.
createMenu(caption)
Crea un compilador que se puede usar para agregar un menú a la interfaz de usuario del editor. En realidad, el menú no se agrega hasta que se llama a Menu.addToUi()
. Para obtener más información, consulta la guía de menús. La etiqueta de un menú de nivel superior debe estar en mayúsculas (todas las palabras principales en mayúscula), aunque la etiqueta de un submenú debe escribirse con mayúscula (solo la primera palabra en mayúscula). Si la secuencia de comandos se publica como un complemento, el parámetro caption
se ignora y el menú se agrega como un submenú del menú Complementos, que equivale a createAddonMenu()
.
// Add a custom menu to the active document, including a separator and a sub-menu. function onOpen(e) { SpreadsheetApp.getUi() .createMenu('My Menu') .addItem('My menu item', 'myFunction') .addSeparator() .addSubMenu(SpreadsheetApp.getUi().createMenu('My sub-menu') .addItem('One sub-menu item', 'mySecondFunction') .addItem('Another sub-menu item', 'myThirdFunction')) .addToUi(); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
caption | String | La etiqueta del menú, con todas las palabras principales en mayúscula en un menú de nivel superior, o solo la primera palabra en mayúscula para un submenú. |
Volver
Menu
: Es el nuevo compilador de menú.
prompt(prompt)
Abre un cuadro de diálogo de entrada en el editor del usuario con el mensaje dado y el botón "Aceptar". Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten durante la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display a dialog box with a message, input field, and an "OK" button. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Enter your name:'); // Process the user's response. if (response.getSelectedButton() == ui.Button.OK) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
Volver
PromptResponse
: una representación de la respuesta del usuario
prompt(prompt, buttons)
Abre un cuadro de diálogo de entrada en el editor del usuario con el mensaje y el conjunto de botones especificados. Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten durante la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display a dialog box with a message, input field, and "Yes" and "No" buttons. The user can // also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
buttons | ButtonSet | El botón configurado para mostrarse en el cuadro de diálogo. |
Volver
PromptResponse
: una representación de la respuesta del usuario
prompt(title, prompt, buttons)
Abre un cuadro de diálogo de entrada en el editor del usuario con el título, el mensaje y el conjunto de botones especificados. Este método suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. La secuencia de comandos se reanuda después de que el usuario descarta el diálogo, pero las conexiones Jdbc
y los bloqueos de LockService
no persisten en la suspensión. Para obtener más información, consulta la guía de diálogos y barras laterales.
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
title | String | Título que se mostrará sobre el cuadro de diálogo. |
prompt | String | El mensaje que se mostrará en el cuadro de diálogo. |
buttons | ButtonSet | El botón configurado para mostrarse en el cuadro de diálogo. |
Volver
PromptResponse
: una representación de la respuesta del usuario
showModalDialog(userInterface, title)
Abre un cuadro de diálogo modal en el editor del usuario con contenido personalizado del cliente. Este método no suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. Para comunicarse con la secuencia de comandos del lado del servidor, el componente del cliente debe realizar devoluciones de llamada asíncronas mediante la API de google.script
para HtmlService
. Para cerrar el diálogo de manera programática, llama a google.script.host.close()
en el lado del cliente de una app web HtmlService
. Si deseas obtener más información, consulta la guía de diálogos y barras laterales.
Los diálogos modales evitan que el usuario interactúe con otro elemento que no sea el diálogo. Por el contrario, los diálogos sin modo y las barras laterales permiten al usuario interactuar con el editor. En la mayoría de los casos, un diálogo modal o una barra lateral es una mejor opción que un diálogo sin modo.
// Display a modal dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
userInterface | Object | Un objeto HtmlOutput que representa la interfaz que se mostrará. |
title | String | El título del diálogo; anula cualquier título establecido llamando a setTitle() en el objeto userInterface . |
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Abre un cuadro de diálogo sin modo en el editor del usuario con contenido personalizado del cliente. Este método no suspende la secuencia de comandos del lado del servidor mientras el diálogo está abierto. Para comunicarse con la secuencia de comandos del lado del servidor, el componente del cliente debe realizar devoluciones de llamada asíncronas mediante la API de google.script
para HtmlService
. Para cerrar el diálogo de manera programática, llama a google.script.host.close()
en el lado del cliente de una app web HtmlService
. Si deseas obtener más información, consulta la guía de diálogos y barras laterales.
Los diálogos sin modo permiten al usuario interactuar con el editor detrás del cuadro de diálogo. Por el contrario, los diálogos modales no lo hacen. En casi todos los casos, un diálogo modal o una barra lateral es una mejor opción que un diálogo sin modo.
// Display a modeless dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
userInterface | Object | Un objeto HtmlOutput que representa la interfaz que se mostrará. |
title | String | El título del diálogo; anula cualquier título establecido llamando a setTitle() en el objeto userInterface . |
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Abre una barra lateral en el editor del usuario con contenido personalizado del cliente. Este método no suspende la secuencia de comandos del lado del servidor mientras la barra lateral está abierta. Para comunicarse con la secuencia de comandos del lado del servidor, el componente del cliente debe realizar devoluciones de llamada asíncronas mediante la API de google.script
para HtmlService
. Para cerrar la barra lateral de manera programática, llama a google.script.host.close()
en el lado del cliente de una app web HtmlService
. Si deseas obtener más información, consulta la guía de diálogos y barras laterales.
La barra lateral se muestra en el lado derecho del editor para los usuarios cuyos entornos usan un idioma de izquierda a derecha y en el lado izquierdo del editor para los idiomas de derecha a izquierda. Todas las barras laterales que muestran las secuencias de comandos tienen 300 píxeles de ancho.
// Display a sidebar with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setTitle('My add-on'); SpreadsheetApp.getUi().showSidebar(htmlOutput);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
userInterface | Object | Un objeto HtmlOutput que representa la interfaz que se mostrará. |
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.container.ui