Class Ui

Ui

Eine Instanz der Benutzeroberfläche einer Google-App, mit der dem Script Funktionen wie Menüs, Dialogfelder und Seitenleisten hinzugefügt werden können. Ein Script kann nur mit der Benutzeroberfläche der aktuellen Instanz eines geöffneten Editors interagieren und nur, wenn das Script 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.');
}

Attribute

AttributTypBeschreibung
ButtonButtonEin Enum, das vordefinierte, lokalisierte Dialogfeldschaltflächen darstellt, die von einer Benachrichtigung oder PromptResponse.getSelectedButton() zurückgegeben werden, um anzugeben, auf welche Schaltfläche im Dialogfeld der Nutzer geklickt hat.
ButtonSetButtonSetEin Enum, das vordefinierte, lokalisierte Sätze von einer oder mehreren Dialogfeldschaltflächen darstellt, die einer Benachrichtigung oder einem Prompt hinzugefügt werden können.

Methoden

MethodeRückgabetypKurzbeschreibung
alert(prompt)ButtonÖffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und der Schaltfläche „Ok“.
alert(prompt, buttons)ButtonÖffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und einer Reihe von Schaltflächen.
alert(title, prompt, buttons)ButtonÖffnet im Editor des Nutzers ein Dialogfeld mit dem angegebenen Titel, der Nachricht und einer Reihe von Schaltflächen.
createAddonMenu()MenuErstellt ein Tool, mit dem ein Untermenü in das Menü „Erweiterungen“ des Editors eingefügt werden kann.
createMenu(caption)MenuErstellt einen Builder, mit dem der Benutzeroberfläche des Editors ein Menü hinzugefügt werden kann.
prompt(prompt)PromptResponseÖffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Nachricht und der Schaltfläche „Ok“.
prompt(prompt, buttons)PromptResponseÖffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Nachricht und einer Reihe von Schaltflächen.
prompt(title, prompt, buttons)PromptResponseÖffnet im Editor des Nutzers ein Eingabedialogfeld mit dem angegebenen Titel, der Nachricht und einer Reihe von Schaltflächen.
showModalDialog(userInterface, title)voidÖffnet im Editor des Nutzers ein modales Dialogfeld mit benutzerdefinierten clientseitigen Inhalten.
showModelessDialog(userInterface, title)voidÖffnet im Editor des Nutzers ein modales Dialogfeld mit benutzerdefinierten clientseitigen Inhalten.
showSidebar(userInterface)voidÖffnet im Editor des Nutzers eine Seitenleiste mit benutzerdefinierten clientseitigen Inhalten.

Detaillierte Dokumentation

alert(prompt)

Öffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und der Schaltfläche „Ok“. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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 Nachricht, die im Dialogfeld angezeigt werden soll.

Rückflug

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


alert(prompt, buttons)

Öffnet im Editor des Nutzers ein Dialogfeld mit der angegebenen Nachricht und einer Reihe von Schaltflächen. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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

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

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 Nachricht und einer Reihe von Schaltflächen. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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

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

Rückflug

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


createAddonMenu()

Erstellt ein Tool, 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 Script als Add-on ausgeführt wird, entspricht der Name des Untermenüs dem Namen des Add-ons im Webshop. Wenn das Script direkt mit dem Dokument verknüpft ist, entspricht der Name des Untermenüs dem Namen des Scripts. 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 in Großbuchstaben geschrieben werden (alle wichtigen Wörter großgeschrieben). Das Label für ein Untermenü sollte jedoch in Groß- und Kleinschreibung geschrieben werden (nur das erste Wort großgeschrieben). Wenn das Script als Add-on veröffentlicht wird, wird der Parameter caption ignoriert und das Menü wird als Untermenü des Erweiterungsmenü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

NameTypBeschreibung
captionStringDas Label für das Menü, wobei bei einem Menü der obersten Ebene alle wichtigen Wörter großgeschrieben werden und bei einem Untermenü nur das erste Wort.

Rückflug

Menu – Der neue Menü-Builder.


prompt(prompt)

Öffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Nachricht und der Schaltfläche „Ok“. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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

NameTypBeschreibung
promptStringDie Nachricht, die im Dialogfeld angezeigt werden soll.

Rückflug

PromptResponse: Eine Darstellung der Antwort des Nutzers.


prompt(prompt, buttons)

Öffnet im Editor des Nutzers ein Eingabedialogfeld mit der angegebenen Nachricht und einer Reihe von Schaltflächen. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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

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

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 Nachricht und einer Reihe von Schaltflächen. Bei dieser Methode wird das serverseitige Script angehalten, während das Dialogfeld geöffnet ist. Das Script wird fortgesetzt, nachdem der Nutzer das Dialogfeld geschlossen hat. Jdbc-Verbindungen und LockService-Sperrungen bleiben jedoch während der Aussetzung nicht erhalten. 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

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

Rückflug

PromptResponse: Eine Darstellung der Antwort des Nutzers.


showModalDialog(userInterface, title)

Öffnet im Editor des Nutzers ein modales Dialogfeld mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Script nicht angehalten, während das Dialogfeld geöffnet ist. Um mit dem serverseitigen Script zu kommunizieren, muss die clientseitige Komponente asynchrone Rückrufe mithilfe der google.script API für HtmlService ausführen. Wenn Sie das Dialogfeld 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.

Modale Dialogfelder verhindern, dass Nutzer mit anderen Elementen als dem Dialogfeld interagieren. Im Gegensatz dazu können Nutzer über moduslose Dialogfelder und Seitenleisten mit dem Editor interagieren. In fast allen Fällen ist ein modales Dialogfeld oder eine Seitenleiste die bessere Wahl als ein 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

NameTypBeschreibung
userInterfaceObjectEine HtmlOutput, die die anzuzeigende Benutzeroberfläche darstellt.
titleStringDer Titel des Dialogfelds. Überschreibt jeden Titel, der durch Aufrufen von setTitle() für das userInterface-Objekt festgelegt wurde.

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

showModelessDialog(userInterface, title)

Öffnet im Editor des Nutzers ein modales Dialogfeld mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Script nicht angehalten, während das Dialogfeld geöffnet ist. Um mit dem serverseitigen Script zu kommunizieren, muss die clientseitige Komponente asynchrone Rückrufe mithilfe der google.script API für HtmlService ausführen. Wenn Sie das Dialogfeld 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.

In modalen Dialogfeldern können Nutzer mit dem Editor hinter dem Dialogfeld interagieren. Modale Dialoge hingegen tun dies nicht. In fast allen Fällen ist ein modaler Dialog oder eine Seitenleiste die bessere Wahl als ein modaler Dialog.

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

NameTypBeschreibung
userInterfaceObjectEine HtmlOutput, die die anzuzeigende Benutzeroberfläche darstellt.
titleStringDer Titel des Dialogfelds. Überschreibt jeden Titel, der durch Aufrufen von setTitle() für das userInterface-Objekt festgelegt wurde.

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

showSidebar(userInterface)

Öffnet im Editor des Nutzers eine Seitenleiste mit benutzerdefinierten clientseitigen Inhalten. Bei dieser Methode wird das serverseitige Script nicht angehalten, während die Seitenleiste geöffnet ist. Um mit dem serverseitigen Script zu kommunizieren, muss die clientseitige Komponente asynchrone Rückrufe mithilfe der google.script API für HtmlService ausführen. Wenn Sie die Seitenleiste programmatisch schließen möchten, rufen Sie auf der Clientseite einer HtmlService-Web-App google.script.host.close() auf. Weitere Informationen finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.

Die Seitenleiste wird für Nutzer, deren Umgebung eine Sprache verwendet, die von links nach rechts geschrieben wird, rechts im Editor angezeigt. Bei Sprachen, die von rechts nach links geschrieben werden, wird sie links im Editor angezeigt. Alle Seitenleisten, die durch Scripts 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

NameTypBeschreibung
userInterfaceObjectEine HtmlOutput, die die anzuzeigende Benutzeroberfläche darstellt.

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

Eingestellte Methoden