Eine Instanz der Benutzeroberflächenumgebung für eine Google-App, mit der dem Skript Funktionen wie Menüs, Dialogfelder und Seitenleisten hinzugefügt werden können. Ein Skript kann nur mit der Benutzeroberfläche der aktuellen Instanz eines geöffneten Editors interagieren und nur, wenn das Skript containergebunden ist.
// 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. const ui = SpreadsheetApp.getUi(); const 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.'); }
Properties
| Attribut | Typ | Beschreibung |
|---|---|---|
Button | Button | Ein Enum, das vordefinierte, lokalisierte Dialogschaltflächen darstellt, die von einem alert oder Prompt zurückgegeben werden, um anzugeben, auf welche Schaltfläche in einem Dialogfeld der Nutzer geklickt hat. |
Button | Button | Ein Enum, das vordefinierte, lokalisierte Gruppen aus einem oder mehreren Dialogfeldschaltflächen darstellt, die einem Hinweis oder einer Aufforderung hinzugefügt werden können. |
Methoden
| Methode | Rückgabetyp | Kurzbeschreibung |
|---|---|---|
alert(prompt) | Button | Öffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und einer Schaltfläche „OK“. |
alert(prompt, buttons) | Button | Öffnet ein Dialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den angegebenen Schaltflächen. |
alert(title, prompt, buttons) | Button | Öffnet im Editor des Nutzers ein Dialogfeld mit dem angegebenen Titel, der angegebenen Nachricht und den angegebenen Schaltflächen. |
create | Menu | Erstellt einen Builder, mit dem ein Untermenü in das Menü „Erweiterungen“ des Editors eingefügt werden kann. |
create | Menu | Erstellt einen Builder, mit dem der Benutzeroberfläche des Editors ein Menü hinzugefügt werden kann. |
prompt(prompt) | Prompt | Öffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Meldung und einer Schaltfläche „OK“. |
prompt(prompt, buttons) | Prompt | Öffnet ein Eingabedialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den angegebenen Schaltflächen. |
prompt(title, prompt, buttons) | Prompt | Öffnet im Editor des Nutzers ein Eingabedialogfeld mit dem angegebenen Titel, der angegebenen Nachricht und den angegebenen Schaltflächen. |
show | void | Öffnet ein modales Dialogfeld im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. |
show | void | Öffnet ein nicht modales Dialogfeld im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. |
show | void | Öffnet eine Seitenleiste im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. |
Detaillierte Dokumentation
alert(prompt)
Öffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und einer Schaltfläche „OK“. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Unterbrechung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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');
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
Rückflug
Button: Die Schaltfläche, auf die der Nutzer geklickt hat.
alert(prompt, buttons)
Öffnet ein Dialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den angegebenen Schaltflächen. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Unterbrechung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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. const ui = SpreadsheetApp.getUi(); const 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.', ); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
buttons | Button | Die Schaltflächen, die im Dialogfeld angezeigt werden sollen. |
Rückflug
Button: Die Schaltfläche, auf die der Nutzer geklickt hat.
alert(title, prompt, buttons)
Öffnet im Editor des Nutzers ein Dialogfeld mit dem angegebenen Titel, der angegebenen Nachricht und den angegebenen Schaltflächen. Mit dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Sperrung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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. const ui = SpreadsheetApp.getUi(); const 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.', ); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
title | String | Der Titel, der über dem Dialogfeld angezeigt werden soll. |
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
buttons | Button | Die Schaltflächen, die im Dialogfeld angezeigt werden sollen. |
Rückflug
Button: Die Schaltfläche, auf die der Nutzer geklickt hat.
createAddonMenu()
Erstellt einen Builder, mit dem ein Untermenü in das Menü „Erweiterungen“ des Editors eingefügt werden kann. Das Menü wird erst aktualisiert, wenn Menu.addToUi() aufgerufen wird. Wenn das Skript als Add-on ausgeführt wird, entspricht der Name des Untermenüs dem Namen des Add-ons im Webstore. Wenn das Skript direkt an das Dokument gebunden ist, entspricht der Name des Untermenüs dem Namen des Skripts. Weitere Informationen finden Sie im Leitfaden zu 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(); }
Rückflug
Menu: Der neue Menü-Builder.
createMenu(caption)
Erstellt einen Builder, mit dem der Benutzeroberfläche des Editors ein Menü hinzugefügt werden kann. Das Menü wird erst hinzugefügt, wenn Menu.addToUi() aufgerufen wird. Weitere Informationen finden Sie im Leitfaden zu Menüs. Das Label für ein Menü der obersten Ebene sollte im Überschriftenstil (alle wichtigen Wörter großgeschrieben) und das Label für ein Untermenü im Satzstil (nur das erste Wort großgeschrieben) sein. Wenn das Script als Add-on veröffentlicht wird, wird der Parameter caption ignoriert und das Menü wird als Untermenü des Menüs „Erweiterungen“ hinzugefügt, was createAddonMenu() entspricht.
// 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(); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
caption | String | Das Label für das Menü, wobei alle wichtigen Wörter für ein Menü der obersten Ebene großgeschrieben werden. Bei einem Untermenü wird nur das erste Wort großgeschrieben. |
Rückflug
Menu: Der neue Menü-Builder.
prompt(prompt)
Öffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Meldung und einer Schaltfläche „OK“. Mit dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Sperrung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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. const ui = SpreadsheetApp.getUi(); const 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.'); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
Rückflug
PromptResponse: Eine Darstellung der Antwort des Nutzers.
prompt(prompt, buttons)
Öffnet ein Eingabedialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den angegebenen Schaltflächen. Mit dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Sperrung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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. const ui = SpreadsheetApp.getUi(); const 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.'); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
buttons | Button | Die Schaltflächen, die im Dialogfeld angezeigt werden sollen. |
Rückflug
PromptResponse: Eine Darstellung der Antwort des Nutzers.
prompt(title, prompt, buttons)
Öffnet im Editor des Nutzers ein Eingabedialogfeld mit dem angegebenen Titel, der angegebenen Nachricht und den angegebenen Schaltflächen. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch nicht über die Unterbrechung hinweg bestehen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
// 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. const ui = SpreadsheetApp.getUi(); const 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.'); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
title | String | Der Titel, der über dem Dialogfeld angezeigt werden soll. |
prompt | String | Die Meldung, die im Dialogfeld angezeigt werden soll. |
buttons | Button | Die Schaltflächen, die im Dialogfeld angezeigt werden sollen. |
Rückflug
PromptResponse: Eine Darstellung der Antwort des Nutzers.
showModalDialog(userInterface, title)
Öffnet ein modales Dialogfeld im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Skript nicht angehalten, während das Dialogfeld geöffnet ist. Damit die clientseitige Komponente mit dem serverseitigen Script kommunizieren kann, muss sie asynchrone Rückrufe über die google.script API für HtmlService ausführen. Rufen Sie
google.script.host.close() auf der Clientseite einer HtmlService-Web-App auf, um das Dialogfeld programmatisch zu schließen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Modale Dialogfelder verhindern, dass der Nutzer mit anderen Elementen als dem Dialogfeld interagiert. Im Gegensatz dazu können Nutzer bei nicht modalen Dialogfeldern und Seitenleisten mit dem Editor interagieren. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste die bessere Wahl als ein nicht modales Dialogfeld.
// Display a modal dialog box with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
user | Object | Ein Html, das die anzuzeigende Benutzeroberfläche darstellt. |
title | String | Der Titel des Dialogfelds. Überschreibt alle Titel, die durch Aufrufen von set für das user-Objekt festgelegt wurden. |
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Öffnet ein nicht modales Dialogfeld im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Skript nicht angehalten, während das Dialogfeld geöffnet ist. Damit die clientseitige Komponente mit dem serverseitigen Skript kommunizieren kann, muss sie asynchrone Callbacks über die google.script API für HtmlService ausführen. Rufen Sie
google.script.host.close() auf der Clientseite einer HtmlService-Web-App auf, um das Dialogfeld programmatisch zu schließen. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Bei nicht modalen Dialogfeldern kann der Nutzer mit dem Editor im Hintergrund interagieren. Modale Dialogfelder hingegen nicht. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste eine bessere Wahl als ein nicht modales Dialogfeld.
// Display a modeless dialog box with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
user | Object | Ein Html, das die anzuzeigende Benutzeroberfläche darstellt. |
title | String | Der Titel des Dialogfelds. Überschreibt alle Titel, die durch Aufrufen von set für das user-Objekt festgelegt wurden. |
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Öffnet eine Seitenleiste im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Skript nicht angehalten, während die Seitenleiste geöffnet ist. Damit die clientseitige Komponente mit dem serverseitigen Script kommunizieren kann, muss sie asynchrone Rückrufe über die google.script API für HtmlService ausführen. Wenn Sie die Seitenleiste programmatisch schließen möchten, rufen Sie
google.script.host.close() auf der Clientseite einer HtmlService-Web-App auf. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Die Seitenleiste wird für Nutzer, in deren Umgebungen eine Sprache verwendet wird, die von links nach rechts geschrieben wird, auf der rechten Seite des Editors und für Sprachen, die von rechts nach links geschrieben werden, auf der linken Seite des Editors angezeigt. Alle Seitenleisten, die von Skripts angezeigt werden, sind 300 Pixel breit.
// Display a sidebar with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setTitle('My add-on'); SpreadsheetApp.getUi().showSidebar(htmlOutput);
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
user | Object | Ein Html, das die anzuzeigende Benutzeroberfläche darstellt. |
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.container.ui