Class Ui

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
Ti

Instance de l'environnement d'interface utilisateur d'une application Google permettant 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 de l'instance actuelle d'un éditeur ouvert que s'il est lié à un 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 les boutons de boîte de dialogue prédéterminés et localisés affichés par une alerte ou PromptResponse.getSelectedButton() pour indiquer le bouton d'une boîte de dialogue sur lequel l'utilisateur a cliqué.
ButtonSetButtonSetÉnumération représentant les ensembles prédéterminés et localisés d'un ou de 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 donné et un bouton "OK".
alert(prompt, buttons)ButtonOuvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message et les boutons indiqués.
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 permet d'insérer un sous-menu dans le menu complémentaire de l'éditeur.
createMenu(caption)MenuCrée un compilateur qui permet d'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 donné et un bouton "OK".
prompt(prompt, buttons)PromptResponseOuvre une boîte de dialogue de saisie dans l'éditeur contenant le message et l'ensemble de boutons indiqués.
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 dans l'éditeur de l'utilisateur, avec du contenu personnalisé côté client.
showModelessDialog(userInterface, title)voidOuvre une boîte de dialogue sans mode dans l'éditeur avec du contenu personnalisé côté client.
showSidebar(userInterface)voidOuvre une barre latérale dans l'éditeur de l'utilisateur avec du 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 donné et un bouton "OK". Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend après 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.

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 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 après 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.

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 après 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.

Aller-retour

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


createAddonMenu()

Crée un compilateur qui permet d'insérer un sous-menu dans le menu complémentaire de l'éditeur. Le menu n'est 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 au nom du module complémentaire sur 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 permet d'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. L'étiquette d'un menu principal doit être en majuscule (tous les principaux mots en majuscules), alors que l'étiquette d'un sous-menu doit être en majuscule (la première lettre doit être 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 "Modules complémentaires", ce qui équivaut à 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 à tous les principaux mots d'un menu de niveau supérieur ou uniquement le premier mot en majuscules pour 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 avec le message donné et un bouton "OK". Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend après 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.

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 contenant 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 après 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.

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 après 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.

Aller-retour

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


showModalDialog(userInterface, title)

Ouvre une boîte de dialogue modale dans l'éditeur de l'utilisateur, avec du contenu personnalisé côté client. Cette méthode ne suspend pas le script côté serveur tant que 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() du 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. Par contre, les boîtes de dialogue sans mode et les barres latérales permettent à l'utilisateur d'interagir avec l'éditeur. Dans la plupart des cas, il est préférable d'utiliser une boîte de dialogue modale ou une barre latérale.

// 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
userInterfaceObjectUn é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 avec 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 avec du contenu personnalisé côté client. Cette méthode ne suspend pas le script côté serveur tant que 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() du 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, il est préférable d'utiliser une boîte de dialogue modale ou une barre latérale plutôt 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
userInterfaceObjectUn é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 avec 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 du 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() du 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 de gauche à droite et à gauche de l'éditeur pour les langues qui s'écrivent de droite à gauche. Toutes les barres latérales des 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
userInterfaceObjectUn élément HtmlOutput représentant l'interface à afficher.

Autorisation

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

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

Méthodes obsolètes