Class Ui

UI

Eine Instanz der Benutzeroberflächenumgebung für eine Google-Anwendung, mit der das Skript Funktionen wie Menüs, Dialogfelder und Seitenleisten hinzufügen kann. Ein Skript kann nur mit der UI für die aktuelle Instanz eines geöffneten Editors interagieren und auch nur dann, wenn das Skript containergebunden an den Editor 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

PropertyTypBeschreibung
ButtonButtonEine Aufzählung, die vordefinierte, lokalisierte Schaltflächen des Dialogfelds darstellt, die von einer Warnung oder einem PromptResponse.getSelectedButton() zurückgegeben werden, um anzugeben, auf welche Schaltfläche in einem Dialogfeld der Nutzer geklickt hat.
ButtonSetButtonSetEin Enum, das vordefinierte, lokalisierte Sätze einer oder mehrerer Dialogfeldschaltflächen darstellt, die einer Warnung oder einer Aufforderung hinzugefügt werden können.

Methoden

MethodeRückgabetypKurzbeschreibung
alert(prompt)ButtonÖffnet ein Dialogfeld mit der angegebenen Meldung und der Schaltfläche „OK“ im Editor des Nutzers.
alert(prompt, buttons)ButtonÖffnet ein Dialogfeld mit der angegebenen Meldung und einer Reihe von Schaltflächen im Editor des Nutzers.
alert(title, prompt, buttons)ButtonÖffnet im Nutzereditor ein Dialogfeld mit dem angegebenen Titel, der Nachricht und einer Reihe von Schaltflächen.
createAddonMenu()MenuErstellt einen Builder, mit dem ein Untermenü in das Menü „Erweiterungen“ des Editors eingefügt werden kann.
createMenu(caption)MenuErstellt einen Builder, mit dem ein Menü zur Benutzeroberfläche des Editors hinzugefügt werden kann.
prompt(prompt)PromptResponseÖffnet ein Dialogfeld zur Eingabe im Editor des Nutzers mit der angegebenen Meldung und der Schaltfläche „OK“.
prompt(prompt, buttons)PromptResponseÖffnet ein Dialogfeld zur Eingabe der Eingabe im Editor des Nutzers mit der angegebenen Meldung und einer Reihe von Schaltflächen.
prompt(title, prompt, buttons)PromptResponseÖffnet ein Dialogfeld zur Eingabe im Editor des Nutzers mit dem angegebenen Titel, der Nachricht und den Schaltflächen.
showModalDialog(userInterface, title)voidÖffnet ein modales Dialogfeld im Nutzereditor mit benutzerdefiniertem clientseitigem Inhalt.
showModelessDialog(userInterface, title)voidÖffnet im Nutzereditor ein Dialogfeld ohne Modus mit benutzerdefiniertem clientseitigem Inhalt.
showSidebar(userInterface)voidÖffnet im Editor des Nutzers eine Seitenleiste mit benutzerdefiniertem clientseitigem Inhalt.

Detaillierte Dokumentation

alert(prompt)

Öffnet ein Dialogfeld mit der angegebenen Meldung und der Schaltfläche „OK“ im Editor des Nutzers. Bei dieser Methode wird das serverseitige Skript gesperrt, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch während der gesamten Sperrung 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

NameTypBeschreibung
promptStringDie Meldung, die im Dialogfeld angezeigt wird.

Return

Button: Die Schaltfläche, auf die der Nutzer geklickt hat.


alert(prompt, buttons)

Öffnet ein Dialogfeld mit der angegebenen Meldung und einer Reihe von Schaltflächen im Editor des Nutzers. Bei dieser Methode wird das serverseitige Skript gesperrt, während das Dialogfeld geöffnet ist. Das Skript wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperren bleiben jedoch während der gesamten Sperrung 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.
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

NameTypBeschreibung
promptStringDie Meldung, die im Dialogfeld angezeigt wird.
buttonsButtonSetDie Schaltfläche, die im Dialogfeld angezeigt werden soll.

Return

Button: Die Schaltfläche, auf die der Nutzer geklickt hat.


alert(title, prompt, buttons)

Öffnet im Nutzereditor ein Dialogfeld mit dem angegebenen Titel, der Nachricht und einer Reihe von Schaltflächen. Mit 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 bleiben jedoch während der Sperrung 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.
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

NameTypBeschreibung
titleStringDer Titel, der über dem Dialogfeld angezeigt werden soll.
promptStringDie Meldung, die im Dialogfeld angezeigt wird.
buttonsButtonSetDie Schaltfläche, die im Dialogfeld angezeigt werden soll.

Return

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, 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, 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();
}

Return

Menu – der neue Menü-Builder.


createMenu(caption)

Erstellt einen Builder, mit dem ein Menü zur Benutzeroberfläche des Editors 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 Anzeigentitel großgeschrieben werden (alle wichtigen Wörter großgeschrieben), obwohl das Label für ein Untermenü im Satz groß geschrieben werden sollte (nur das erste Wort großgeschrieben). Wenn das Skript als Add-on veröffentlicht wird, wird der Parameter caption ignoriert und das Menü als Untermenü des Menüs „Erweiterungen“ hinzugefügt, das 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

NameTypBeschreibung
captionStringDas Label für das Menü, wobei für ein Menü der obersten Ebene alle wichtigen Wörter großgeschrieben oder für ein Untermenü nur das erste Wort großgeschrieben wird.

Return

Menu – der neue Menü-Builder.


prompt(prompt)

Öffnet ein Dialogfeld zur Eingabe im Editor des Nutzers mit der angegebenen Meldung und der Schaltfläche „OK“. Mit 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 bleiben jedoch während der Sperrung 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.
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

NameTypBeschreibung
promptStringDie Meldung, die im Dialogfeld angezeigt wird.

Return

PromptResponse: Eine Darstellung der Nutzerantwort.


prompt(prompt, buttons)

Öffnet ein Dialogfeld zur Eingabe der Eingabe im Editor des Nutzers mit der angegebenen Meldung und einer Reihe von Schaltflächen. Mit 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 bleiben jedoch während der Sperrung 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.
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

NameTypBeschreibung
promptStringDie Meldung, die im Dialogfeld angezeigt wird.
buttonsButtonSetDie Schaltfläche, die im Dialogfeld angezeigt werden soll.

Return

PromptResponse: Eine Darstellung der Nutzerantwort.


prompt(title, prompt, buttons)

Öffnet ein Dialogfeld zur Eingabe im Editor des Nutzers mit dem angegebenen Titel, der Nachricht und den Schaltflächen. Mit 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 bleiben jedoch während der Sperrung 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.
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

NameTypBeschreibung
titleStringDer Titel, der über dem Dialogfeld angezeigt werden soll.
promptStringDie Meldung, die im Dialogfeld angezeigt wird.
buttonsButtonSetDie Schaltfläche, die im Dialogfeld angezeigt werden soll.

Return

PromptResponse: Eine Darstellung der Nutzerantwort.


showModalDialog(userInterface, title)

Öffnet ein modales Dialogfeld im Nutzereditor mit benutzerdefiniertem clientseitigem Inhalt. Bei dieser Methode wird das serverseitige Skript nicht angehalten, während das Dialogfeld geöffnet ist. Um mit dem serverseitigen Skript zu kommunizieren, muss die clientseitige Komponente mit der google.script API für HtmlService asynchrone Callbacks vornehmen. 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 in der Anleitung zu Dialogfeldern und Seitenleisten.

Modale Dialogfelder verhindern, dass der Nutzer mit etwas anderem als dem Dialogfeld interagiert. Im Gegensatz dazu können Nutzer über modelose Dialogfelder und Seitenleisten mit dem Editor interagieren. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste eine bessere Wahl als ein modusloses Dialogfeld.

// 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

NameTypBeschreibung
userInterfaceObjectEin HtmlOutput, das die anzuzeigende Schnittstelle darstellt.
titleStringDer Titel des Dialogfelds; überschreibt jeden Titel, der durch Aufrufen von setTitle() für das userInterface-Objekt festgelegt wird.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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

showModelessDialog(userInterface, title)

Öffnet im Nutzereditor ein Dialogfeld ohne Modus mit benutzerdefiniertem clientseitigem Inhalt. Bei dieser Methode wird das serverseitige Skript nicht angehalten, während das Dialogfeld geöffnet ist. Um mit dem serverseitigen Skript zu kommunizieren, muss die clientseitige Komponente mit der google.script API für HtmlService asynchrone Callbacks vornehmen. 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 in der Anleitung zu Dialogfeldern und Seitenleisten.

Moduslose Dialogfelder ermöglichen es dem Nutzer, mit dem Editor zu interagieren, der dem Dialogfeld zugrunde liegt. Bei modalen Dialogfeldern hingegen ist dies nicht der Fall. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste eine bessere Wahl als ein modusloses Dialogfeld.

// 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

NameTypBeschreibung
userInterfaceObjectEin HtmlOutput, das die anzuzeigende Schnittstelle darstellt.
titleStringDer Titel des Dialogfelds; überschreibt jeden Titel, der durch Aufrufen von setTitle() für das userInterface-Objekt festgelegt wird.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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

showSidebar(userInterface)

Öffnet im Editor des Nutzers eine Seitenleiste mit benutzerdefiniertem clientseitigem Inhalt. Bei dieser Methode wird das serverseitige Skript nicht angehalten, solange die Seitenleiste geöffnet ist. Um mit dem serverseitigen Skript zu kommunizieren, muss die clientseitige Komponente mit der google.script API für HtmlService asynchrone Callbacks vornehmen. 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 in der Anleitung zu Dialogfeldern und Seitenleisten.

Die Seitenleiste wird für Nutzer, deren Umgebung eine rechtsläufige Sprache verwendet, auf der rechten Seite des Editors angezeigt. Für linksläufige Sprachen wird auf der linken Seite des Editors die Seitenleiste angezeigt. Alle in den Skripts angezeigten Seitenleisten sind 300 Pixel breit.

// 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

NameTypBeschreibung
userInterfaceObjectEin HtmlOutput, das die anzuzeigende Schnittstelle darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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

Verworfene Methoden