Class Ui

Ui

Instance de l'environnement d'interface utilisateur d'une application Google qui permet au script d'ajouter fonctionnalités telles que les menus, les boîtes de dialogue et les barres latérales. Un script ne peut interagir avec l'interface utilisateur que pour la l'instance actuelle d'un éditeur ouvert, et seulement si le script 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 et prédéterminés renvoyé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 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 requête.

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 le mot "OK" .
alert(prompt, buttons)ButtonOuvre une boîte de dialogue dans l'éditeur de l'utilisateur avec le message affiché 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 un ensemble de boutons indiqués.
createAddonMenu()MenuCrée un outil de création 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 donné et le mot "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 des .
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 non modale dans l'éditeur de l'utilisateur 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 le mot "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 ferme la boîte de dialogue, mais Jdbc de connexion et les verrous LockService ne persister pendant la période de 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 dans l'éditeur de l'utilisateur avec le message affiché 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 ferme la boîte de dialogue, mais Jdbc de connexion et les verrous LockService ne persister pendant la période de 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 devant 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 un ensemble de boutons indiqués. Ce suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend après que l'utilisateur ferme la boîte de dialogue, mais Jdbc de connexion et les verrous LockService ne persister pendant la période de 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 devant s'afficher dans la boîte de dialogue.

Renvois

Button : bouton sur lequel l'utilisateur a cliqué


createAddonMenu()

Crée un outil de création qui peut être utilisé pour insérer un sous-menu dans le menu "Extensions" de l'éditeur. La le menu n'est pas mis à jour tant que Menu.addToUi() n'est pas appelé. Si le script est en cours d'exécution En tant que module complémentaire, le nom du sous-menu correspond à celui 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();
}

Renvois

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 pas être ajoutés jusqu'à ce que Menu.addToUi() soit appelé. Pour en savoir plus, consultez le guide des menus. Le libellé d’un menu de niveau supérieur doit être en utilisant une majuscule au début de chaque mot (tous les mots principaux sont en majuscules), bien que le libellé d'un sous-menu soit en avec une majuscule en début de phrase (uniquement le premier mot commence par une majuscule). Si le script est publié en tant que module complémentaire, le paramètre caption est ignoré, et le paramètre est ajouté en tant que sous-menu du menu "Extensions", 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 tous les mots principaux en majuscules pour un menu de niveau supérieur, ou uniquement le premier mot en majuscules 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 donné et le mot "OK" . Ce suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend après que l'utilisateur ferme la boîte de dialogue, mais Jdbc de connexion et les verrous LockService ne persister pendant la période de 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 dans l'éditeur de l'utilisateur avec le message donné et un ensemble de boutons. Ce suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend après que l'utilisateur ferme la boîte de dialogue, mais Jdbc de connexion et les verrous LockService ne persister pendant la période de 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 devant 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 des . Cette méthode suspend le script côté serveur lorsque la boîte de dialogue est ouverte. Le script reprend lorsque l'utilisateur a fermé la boîte de dialogue, mais les connexions Jdbc et les verrouillages LockService ne persistent pas la suspension. Pour plus d'informations, consultez le guide 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 devant 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 dans l'éditeur de l'utilisateur avec du contenu personnalisé côté client. Cette méthode ne pas suspendre le script côté serveur tant que la boîte de dialogue est ouverte. Pour communiquer avec script côté serveur, le composant côté client doit effectuer des rappels asynchrones à l'aide de l'API google.script pour HtmlService. Fermer la boîte de dialogue de manière programmatique, appeler google.script.host.close() côté client d'un serveur Web HtmlService l'application. Pour en savoir plus, consultez le guide des boîtes de dialogue et les barres latérales.

Les boîtes de dialogue modales empêchent l'utilisateur d'interagir avec autre chose que la boîte de dialogue. Par En revanche, les boîtes de dialogue non modales 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 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
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 correspondant à 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 du contenu personnalisé côté client. Cette méthode n'entraîne pas la suspension du 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. Fermer la boîte de dialogue de manière programmatique, appeler google.script.host.close() côté client d'un serveur Web HtmlService l'application. Pour en savoir plus, consultez le guide des boîtes de dialogue et les barres latérales.

Les boîtes de dialogue non modales 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 fenêtre modale boîte de dialogue ou sidebar" (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
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 correspondant à 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 pas le script côté serveur lorsque la barre latérale est ouverte. Pour communiquer avec 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, procédez comme suit : de manière programmatique, appeler google.script.host.close() côté client d'un serveur Web HtmlService l'application. Pour en savoir plus, consultez le guide des boîtes de dialogue et les barres latérales.

La barre latérale s'affiche dans la partie droite de l'éditeur pour les utilisateurs dont l'environnement utilise un et dans la partie gauche de l'éditeur pour les langues qui se lisent de droite à gauche. Tout les barres latérales affichées par les scripts font 300 pixels de largeur.

// 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 correspondant à un ou plusieurs des champs d'application suivants:

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

Méthodes obsolètes