Class Ui

UI

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 de 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 une alerte ou PromptResponse.getSelectedButton() pour indiquer le bouton dans une boîte de dialogue sur lequel l'utilisateur a cliqué.
ButtonSetButtonSetÉnumération représentant des ensembles prédéterminés et localisés d'un ou de plusieurs boutons de boîte de dialogue pouvant ê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 contenant le message indiqué et le bouton "OK".
alert(prompt, buttons)ButtonOuvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message donné et un ensemble de boutons.
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 outil de création permettant d'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. Celle-ci contient le message indiqué et le bouton "OK".
prompt(prompt, buttons)PromptResponseOuvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le message donné et un ensemble de boutons.
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 sans mode dans l'éditeur de l'utilisateur avec un contenu personnalisé côté client.
showSidebar(userInterface)voidOuvre une barre latérale avec un contenu personnalisé côté client dans l'éditeur de l'utilisateur.

Documentation détaillée

alert(prompt)

Ouvre une boîte de dialogue dans l'éditeur de l'utilisateur contenant le message indiqué et le 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 sont pas conservés pendant la suspension. Pour en savoir plus, consultez le guide sur les boîtes de dialogue et les 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.

Aller-retour

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


alert(prompt, buttons)

Ouvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message donné et un ensemble de boutons. 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 sont pas conservés pendant la suspension. Pour en savoir plus, consultez le guide sur les boîtes de dialogue et les 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 configuré pour s'afficher dans la boîte de dialogue.

Aller-retour

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 sur les boîtes de dialogue et les 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 configuré pour s'afficher dans la boîte de dialogue.

Aller-retour

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


createAddonMenu()

Crée un outil de création permettant d'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 est exécuté en tant que module complémentaire, le nom du sous-menu correspond au nom du module complémentaire 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();
}

Aller-retour

Menu : nouvel outil de création 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 ajouté qu'après l'appel de Menu.addToUi(). 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), bien que le libellé d'un sous-menu doive être en majuscule (uniquement le premier mot en majuscules). 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, avec une majuscule pour tous les principaux mots pour un menu de premier niveau, ou uniquement pour le premier mot d'un sous-menu.

Aller-retour

Menu : nouvel outil de création de menu.


prompt(prompt)

Ouvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur. Celle-ci contient le message indiqué et le 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 sur les boîtes de dialogue et les 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.

Aller-retour

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


prompt(prompt, buttons)

Ouvre une boîte de dialogue de saisie dans l'éditeur de l'utilisateur avec le message donné et un ensemble de boutons. 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 sur les boîtes de dialogue et les 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 configuré pour s'afficher dans la boîte de dialogue.

Aller-retour

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 sur les boîtes de dialogue et les 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 configuré pour s'afficher dans la boîte de dialogue.

Aller-retour

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 que la boîte de dialogue. 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 préférable à une boîte de dialogue non modale.

// 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
userInterfaceObjectÉlément HtmlOutput 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 sans mode 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 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 non modale.

// 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
userInterfaceObjectÉlément HtmlOutput 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 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 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 à droite de l'éditeur pour les utilisateurs dont les environnements utilisent une langue qui se lit de gauche à droite et à 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
userInterfaceObjectÉlément HtmlOutput 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