Eine Instanz der Benutzeroberfläche einer Google-Anwendung, mit der das Skript Funktionen wie Menüs, Dialogfelder und Seitenleisten hinzufügen kann. Ein Skript kann nur mit der UI der aktuellen Instanz eines geöffneten Editors interagieren und nur dann, wenn es 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. 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.'); }
Attribute
Property | Typ | Beschreibung |
---|---|---|
Button | Button | Eine Aufzählung mit vorab festgelegten, lokalisierten Dialogschaltflächen, die von einer Warnung oder PromptResponse.getSelectedButton() zurückgegeben wird, um anzugeben, auf welche Schaltfläche in einem Dialogfeld der Nutzer geklickt hat. |
ButtonSet | ButtonSet | Ein Enum-Wert, der vordefinierte, lokalisierte Gruppen aus einer oder mehreren Dialogschaltflächen darstellt, die einer Warnung oder einer Eingabeaufforderung hinzugefügt werden können. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
alert(prompt) | Button | Öffnet ein Dialogfeld im Editor des Nutzers mit der angegebenen Nachricht und der Schaltfläche „OK“. |
alert(prompt, buttons) | Button | Öffnet ein Dialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den Schaltflächen. |
alert(title, prompt, buttons) | Button | Öffnet ein Dialogfeld mit dem Titel, der Nachricht und den Schaltflächen im Nutzereditor. |
createAddonMenu() | Menu | Erstellt einen Builder, mit dem ein Untermenü in das Menü des Add-ons für den Editor eingefügt werden kann. |
createMenu(caption) | Menu | Erstellt einen Builder, mit dem der Benutzeroberfläche des Editors ein Menü hinzugefügt werden kann. |
prompt(prompt) | PromptResponse | Öffnet ein Eingabedialogfeld im Nutzereditor mit der angegebenen Nachricht und der Schaltfläche „OK“. |
prompt(prompt, buttons) | PromptResponse | Öffnet ein Eingabedialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den Schaltflächen. |
prompt(title, prompt, buttons) | PromptResponse | Öffnet ein Eingabedialogfeld im Nutzereditor mit dem angegebenen Titel, der Nachricht und den Schaltflächen. |
showModalDialog(userInterface, title) | void | Öffnet ein modales Dialogfeld im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. |
showModelessDialog(userInterface, title) | void | Öffnet ein Dialogfeld ohne Modus im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. |
showSidebar(userInterface) | void | Dadurch wird im Editor des Nutzers eine Seitenleiste mit benutzerdefinierten clientseitigen Inhalten geöffnet. |
Detaillierte Dokumentation
alert(prompt)
Öffnet ein Dialogfeld im Editor des Nutzers mit der angegebenen Nachricht und der Schaltfläche „OK“. Bei dieser Methode wird das serverseitige Skript gesperrt, wenn das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. 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 Nachricht, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
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 Schaltflächen. Bei dieser Methode wird das serverseitige Skript gesperrt, wenn das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. 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. 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.'); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
prompt | String | Die Nachricht, die im Dialogfeld angezeigt werden soll. |
buttons | ButtonSet | Die Schaltfläche, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
Button
: Die Schaltfläche, auf die der Nutzer geklickt hat.
alert(title, prompt, buttons)
Öffnet ein Dialogfeld mit dem Titel, der Nachricht und den Schaltflächen im Nutzereditor. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. 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. 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.'); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
title | String | Der Titel, der über dem Dialogfeld angezeigt werden soll. |
prompt | String | Die Nachricht, die im Dialogfeld angezeigt werden soll. |
buttons | ButtonSet | Die Schaltfläche, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
Button
: Die Schaltfläche, auf die der Nutzer geklickt hat.
createAddonMenu()
Erstellt einen Builder, mit dem ein Untermenü in das Menü des Add-ons für den Editor eingefügt werden kann. Das Menü wird erst aktualisiert, wenn Menu.addToUi()
aufgerufen wird. Wenn das Skript als Add-on ausgeführt wird, stimmt der Name des Untermenüs mit dem Namen des Add-ons im Web Store überein. Wenn das Skript direkt an das Dokument gebunden ist, stimmt der Name des Untermenüs mit dem Namen des Skripts überein. Weitere Informationen finden Sie in der Übersicht 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(); }
Zurücksenden
Menu
: Der neue Menü-Builder.
createMenu(caption)
Erstellt einen Builder, mit dem der Benutzeroberfläche des Editors ein Menü hinzugefügt werden kann. Die Speisekarte wird erst hinzugefügt, wenn Menu.addToUi()
aufgerufen wird. Weitere Informationen finden Sie in der Übersicht zu Menüs. Das Label für ein Menü auf oberster Ebene sollte in Großbuchstaben geschrieben sein (Großbuchstaben müssen groß sein), das Label für ein Untermenü sollte jedoch im Satz immer großgeschrieben werden (nur das erste Wort in Großbuchstaben). Wenn das Skript als Add-on veröffentlicht wird, wird der Parameter caption
ignoriert und das Menü als Untermenü des Add-ons-Menüs 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 des Menüs, in dem alle Hauptwörter großgeschrieben werden, oder das erste Wort in einem Untermenü. |
Zurücksenden
Menu
: Der neue Menü-Builder.
prompt(prompt)
Öffnet ein Eingabedialogfeld im Nutzereditor mit der angegebenen Nachricht und der Schaltfläche „OK“. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. 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. 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.'); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
prompt | String | Die Nachricht, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
PromptResponse
: Eine Darstellung der Antwort des Nutzers.
prompt(prompt, buttons)
Öffnet ein Eingabedialogfeld im Editor des Nutzers mit der angegebenen Nachricht und den Schaltflächen. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. 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. 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.'); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
prompt | String | Die Nachricht, die im Dialogfeld angezeigt werden soll. |
buttons | ButtonSet | Die Schaltfläche, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
PromptResponse
: Eine Darstellung der Antwort des Nutzers.
prompt(title, prompt, buttons)
Öffnet ein Eingabedialogfeld im Nutzereditor mit dem angegebenen Titel, der Nachricht und den Schaltflächen. Bei dieser Methode wird das serverseitige Skript angehalten, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc
-Verbindungen und LockService
-Sperren werden jedoch für die Sperrung nicht beibehalten. Weitere Informationen findest du 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. 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.'); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
title | String | Der Titel, der über dem Dialogfeld angezeigt werden soll. |
prompt | String | Die Nachricht, die im Dialogfeld angezeigt werden soll. |
buttons | ButtonSet | Die Schaltfläche, die im Dialogfeld angezeigt werden soll. |
Zurücksenden
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, wenn das Dialogfeld geöffnet ist. Für die Kommunikation mit dem serverseitigen Skript muss die clientseitige Komponente asynchrone Callbacks über die google.script
API für HtmlService
ausführen. Wenn Sie das Dialogfeld programmatisch schließen möchten, rufen Sie auf der Clientseite einer HtmlService
-Webanwendung google.script.host.close()
auf. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Modale Dialogfelder verhindern, dass der Nutzer mit etwas anderem als dem Dialogfeld interagiert. Im Gegensatz dazu können Nutzer bei dialoglosen Dialogfeldern und Seitenleisten mit dem Editor interagieren. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste eine bessere Wahl als ein Dialogfeld ohne Modus.
// 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');
Parameter
Name | Typ | Beschreibung |
---|---|---|
userInterface | Object | Ein HtmlOutput , das die anzuzeigende Schnittstelle darstellt. |
title | String | Der Titel des Dialogfelds. Überschreibt alle Titel, die durch Aufrufen von setTitle() für das Objekt userInterface festgelegt werden. |
Autorisierung
Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Öffnet ein Dialogfeld ohne Modus im Editor des Nutzers mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Skript nicht angehalten, wenn das Dialogfeld geöffnet ist. Für die Kommunikation mit dem serverseitigen Skript muss die clientseitige Komponente mithilfe der google.script
API für HtmlService
asynchrone Callbacks ausführen. Wenn Sie das Dialogfeld programmatisch schließen möchten, rufen Sie auf der Clientseite einer HtmlService
-Webanwendung google.script.host.close()
auf. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Dialogfelder ohne Modus ermöglichen dem Nutzer die Interaktion mit dem Editor, der sich im Dialogfeld befindet. modale Dialogfelder hingegen nicht. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste die bessere Wahl als ein Dialogfeld ohne Modus.
// 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');
Parameter
Name | Typ | Beschreibung |
---|---|---|
userInterface | Object | Ein HtmlOutput , das die anzuzeigende Schnittstelle darstellt. |
title | String | Der Titel des Dialogfelds. Überschreibt alle Titel, die durch Aufrufen von setTitle() für das Objekt userInterface festgelegt werden. |
Autorisierung
Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Dadurch wird im Editor des Nutzers eine Seitenleiste mit benutzerdefinierten clientseitigen Inhalten geöffnet. Bei dieser Methode wird das serverseitige Skript nicht gesperrt, solange die Seitenleiste geöffnet ist. Für die Kommunikation mit dem serverseitigen Skript muss die clientseitige Komponente asynchrone Callbacks über die google.script
API für HtmlService
ausführen. Wenn Sie die Seitenleiste programmatisch schließen möchten, rufen Sie auf der Clientseite einer HtmlService
-Webanwendung google.script.host.close()
auf. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.
Die Seitenleiste wird für Nutzer, deren Umgebungen eine Leserichtung von rechts nach links verwenden, auf der rechten Seite des Editors angezeigt. Alle von Skripts angezeigten Seitenleisten haben eine Breite von 300 Pixeln.
// 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);
Parameter
Name | Typ | Beschreibung |
---|---|---|
userInterface | Object | Ein HtmlOutput , das die anzuzeigende Schnittstelle darstellt. |
Autorisierung
Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:
-
https://www.googleapis.com/auth/script.container.ui