Class Ui

Interface utilisateur

Instance de l'environnement d'interface utilisateur d'une application Google qui permet au script d'ajouter des fonctionnalités telles que des menus, des boîtes de dialogue et des barres latérales. Un script ne peut interagir avec l'interface utilisateur que pour l'instance actuelle d'un éditeur ouvert, et uniquement s'il est lié au conteneur dans l'éditeur.

// 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.');
}

Propriétés

PropriétéTypeDescription
ButtonButtonÉnumération représentant des boutons de boîte de dialogue localisés prédéterminés renvoyés par alert ou PromptResponse.getSelectedButton() pour indiquer le bouton sur lequel l'utilisateur a cliqué dans une boîte de dialogue.
ButtonSetButtonSetÉnumération représentant des ensembles prédéterminés et localisés d'un ou plusieurs boutons de boîte de dialogue qui peuvent être ajoutés à une alerte ou à une invite.

Méthodes

MéthodeType renvoyéBrève description
alert(prompt)ButtonOuvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message indiqué et un bouton "OK".
alert(prompt, buttons)ButtonOuvre une boîte de dialogue contenant le message et l'ensemble de boutons indiqués dans l'éditeur de l'utilisateur.
alert(title, prompt, buttons)ButtonOuvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le titre, le message et les boutons indiqués.
createAddonMenu()MenuCrée un compilateur qui peut être utilisé pour insérer un sous-menu dans le menu "Extensions" de l'éditeur.
createMenu(caption)MenuCrée un compilateur qui peut être utilisé pour ajouter un menu à l'interface utilisateur de l'éditeur.
prompt(prompt)PromptResponseOuvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le message indiqué et un bouton "OK".
prompt(prompt, buttons)PromptResponseOuvre une boîte de dialogue de saisie contenant le message et l'ensemble de boutons indiqués dans l'éditeur de l'utilisateur.
prompt(title, prompt, buttons)PromptResponseOuvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le titre, le message et l'ensemble de boutons indiqués.
showModalDialog(userInterface, title)voidOuvre une boîte de dialogue modale avec un contenu personnalisé côté client dans l'éditeur de l'utilisateur.
showModelessDialog(userInterface, title)voidOuvre une boîte de dialogue non modale dans l'éditeur de l'utilisateur avec un contenu personnalisé côté client.
showSidebar(userInterface)voidOuvre une barre latérale dans l'éditeur de l'utilisateur avec un contenu personnalisé côté client.

Documentation détaillée

alert(prompt)

Ouvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message indiqué et un bouton "OK". Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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');

Paramètres

NomTypeDescription
promptStringMessage à afficher dans la boîte de dialogue.

Renvois

Button : bouton sur lequel l'utilisateur a cliqué.


alert(prompt, buttons)

Ouvre une boîte de dialogue contenant le message et l'ensemble de boutons indiqués dans l'éditeur de l'utilisateur. Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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.');
}

Paramètres

NomTypeDescription
promptStringMessage à afficher dans la boîte de dialogue.
buttonsButtonSetBouton défini pour s'afficher dans la boîte de dialogue.

Renvois

Button : bouton sur lequel l'utilisateur a cliqué.


alert(title, prompt, buttons)

Ouvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le titre, le message et les boutons indiqués. Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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.');
}

Paramètres

NomTypeDescription
titleStringTitre à afficher au-dessus de la boîte de dialogue.
promptStringMessage à afficher dans la boîte de dialogue.
buttonsButtonSetBouton défini pour s'afficher dans la boîte de dialogue.

Renvois

Button : bouton sur lequel l'utilisateur a cliqué.


createAddonMenu()

Crée un compilateur qui peut être utilisé pour insérer un sous-menu dans le menu "Extensions" de l'éditeur. Le menu n'est réellement mis à jour que lorsque Menu.addToUi() est appelé. Si le script s'exécute en tant que module complémentaire, le nom du sous-menu correspond à celui indiqué dans le Web Store. Si le script est lié directement au document, le nom du sous-menu correspond au nom du script. Pour en savoir plus, consultez le guide des menus.

// 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();
}

Renvois

Menu : nouveau générateur de menu.


createMenu(caption)

Crée un compilateur qui peut être utilisé pour ajouter un menu à l'interface utilisateur de l'éditeur. Le menu n'est pas ajouté tant que Menu.addToUi() n'est pas appelé. Pour en savoir plus, consultez le guide des menus. Le libellé d'un menu de premier niveau doit être en majuscule (tous les mots principaux en majuscules), même si le libellé d'un sous-menu doit être en majuscule (uniquement le premier mot en majuscule). Si le script est publié en tant que module complémentaire, le paramètre caption est ignoré, et le menu est ajouté en tant que sous-menu du menu "Extensions", équivalent à 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();
}

Paramètres

NomTypeDescription
captionStringLibellé du menu, où tous les principaux mots sont en majuscules pour un menu de premier niveau ou uniquement le premier mot en majuscule pour un sous-menu.

Renvois

Menu : nouveau générateur de menu.


prompt(prompt)

Ouvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le message indiqué et un bouton "OK". Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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.');
}

Paramètres

NomTypeDescription
promptStringMessage à afficher dans la boîte de dialogue.

Renvois

PromptResponse : représentation de la réponse de l'utilisateur.


prompt(prompt, buttons)

Ouvre une boîte de dialogue de saisie contenant le message et l'ensemble de boutons indiqués dans l'éditeur de l'utilisateur. Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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.');
}

Paramètres

NomTypeDescription
promptStringMessage à afficher dans la boîte de dialogue.
buttonsButtonSetBouton défini pour s'afficher dans la boîte de dialogue.

Renvois

PromptResponse : représentation de la réponse de l'utilisateur.


prompt(title, prompt, buttons)

Ouvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le titre, le message et l'ensemble de boutons indiqués. Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend une fois que l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrous LockService ne persistent pas pendant la suspension. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

// 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.');
}

Paramètres

NomTypeDescription
titleStringTitre à afficher au-dessus de la boîte de dialogue.
promptStringMessage à afficher dans la boîte de dialogue.
buttonsButtonSetBouton défini pour s'afficher dans la boîte de dialogue.

Renvois

PromptResponse : représentation de la réponse de l'utilisateur.


showModalDialog(userInterface, title)

Ouvre une boîte de dialogue modale avec un contenu personnalisé côté client dans l'éditeur de l'utilisateur. Cette méthode ne suspend pas le script côté serveur lorsque la boîte de dialogue est ouverte. Pour communiquer avec le script côté serveur, le composant côté client doit effectuer des rappels asynchrones à l'aide de l'API google.script pour HtmlService. Pour fermer la boîte de dialogue par programmation, appelez google.script.host.close() côté client d'une application Web HtmlService. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

Les boîtes de dialogue modales empêchent l'utilisateur d'interagir avec d'autres éléments. En revanche, les boîtes de dialogue sans mode et les barres latérales permettent à l'utilisateur d'interagir avec l'éditeur. Dans presque tous les cas, une boîte de dialogue modale ou une barre latérale est un meilleur choix qu'une boîte de dialogue sans mode.

// 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');

Paramètres

NomTypeDescription
userInterfaceObjectHtmlOutput représentant l'interface à afficher.
titleStringTitre de la boîte de dialogue. Remplace tout titre défini en appelant setTitle() sur l'objet userInterface.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.container.ui

showModelessDialog(userInterface, title)

Ouvre une boîte de dialogue non modale dans l'éditeur de l'utilisateur avec un contenu personnalisé côté client. Cette méthode ne suspend pas le script côté serveur lorsque la boîte de dialogue est ouverte. Pour communiquer avec le script côté serveur, le composant côté client doit effectuer des rappels asynchrones à l'aide de l'API google.script pour HtmlService. Pour fermer la boîte de dialogue par programmation, appelez google.script.host.close() côté client d'une application Web HtmlService. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

Les boîtes de dialogue sans mode permettent à l'utilisateur d'interagir avec l'éditeur situé derrière la boîte de dialogue. En revanche, ce n'est pas le cas des boîtes de dialogue modales. Dans presque tous les cas, une boîte de dialogue modale ou une barre latérale est un meilleur choix qu'une boîte de dialogue sans mode.

// 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');

Paramètres

NomTypeDescription
userInterfaceObjectHtmlOutput représentant l'interface à afficher.
titleStringTitre de la boîte de dialogue. Remplace tout titre défini en appelant setTitle() sur l'objet userInterface.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.container.ui

showSidebar(userInterface)

Ouvre une barre latérale dans l'éditeur de l'utilisateur avec un contenu personnalisé côté client. Cette méthode ne suspend pas le script côté serveur lorsque la barre latérale est ouverte. Pour communiquer avec le script côté serveur, le composant côté client doit effectuer des rappels asynchrones à l'aide de l'API google.script pour HtmlService. Pour fermer la barre latérale par programmation, appelez google.script.host.close() côté client d'une application Web HtmlService. Pour en savoir plus, consultez le guide des boîtes de dialogue et des barres latérales.

La barre latérale s'affiche sur le côté droit de l'éditeur pour les utilisateurs dont les environnements utilisent une langue qui se lit de gauche à droite et sur le côté gauche de l'éditeur pour les langues qui se lisent de droite à gauche. Toutes les barres latérales affichées par les scripts font 300 pixels de large.

// 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);

Paramètres

NomTypeDescription
userInterfaceObjectHtmlOutput représentant l'interface à afficher.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.container.ui

Méthodes obsolètes