Benutzerdefinierte Menüs in Google Workspace

Mit Skripts können Sie bestimmte Google-Produkte erweitern, indem Sie Benutzeroberflächenelemente hinzufügen, die beim Anklicken eine Apps Script-Funktion ausführen. Das häufigste Beispiel ist die Ausführung eines Skripts über einen benutzerdefinierten Menüpunkt in Google Docs, Tabellen, Präsentationen oder Formulare. Skriptfunktionen können jedoch auch durch Klicken auf Bilder und Zeichnungen in Google Tabellen ausgelöst werden.

Benutzerdefinierte Menüs in Google Docs, Google Tabellen, Google Präsentationen und Google Formulare

Mit Apps Script können Sie neue Menüs in Google Docs, Google Tabellen, Google Präsentationen oder Google Formulare hinzufügen, wobei jedes Menüelement mit einer Funktion in einem Skript verknüpft ist. In Google Formulare sind benutzerdefinierte Menüs nur für Bearbeiter sichtbar, die das Formular öffnen, um es zu ändern, und nicht für Nutzer, die das Formular öffnen, um zu antworten.

Ein Skript kann nur dann ein Menü erstellen, wenn es an das Dokument, die Tabelle oder das Formular gebunden ist. Schreiben Sie den Menücode in eine onOpen()-Funktion, damit das Menü angezeigt wird, wenn der Nutzer eine Datei öffnet.

Das folgende Beispiel zeigt, wie Sie ein Menü mit einem Element, einem visuellen Trennzeichen und einem Untermenü mit einem weiteren Element hinzufügen. Hinweis: In Google Tabellen müssen Sie stattdessen die Syntax addMenu() verwenden, es sei denn, Sie verwenden die neue Version. Untermenüs sind nicht möglich. Wenn der Nutzer einen der Menüpunkte auswählt, wird durch die entsprechende Funktion ein Benachrichtigungsdialogfeld geöffnet. Weitere Informationen zu den verschiedenen Arten von Dialogfeldern, die Sie öffnen können, finden Sie im Leitfaden zu Dialogfeldern und Seitenleisten.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

Ein Dokument, eine Tabelle, eine Präsentation oder ein Formular darf nur ein Menü mit einem bestimmten Namen enthalten. Wenn dasselbe Skript oder ein anderes Skript ein Menü mit demselben Namen hinzufügt, ersetzt das neue Menü das alte. Menüs können nicht entfernt werden, während die Datei geöffnet ist. Sie können jedoch die Funktion onOpen() schreiben, um das Menü in Zukunft zu überspringen, wenn ein bestimmtes Attribut festgelegt ist.

Anklickbare Bilder und Zeichnungen in Google Tabellen

Sie können einem Bild oder einer Zeichnung in Google Tabellen auch eine Apps Script-Funktion zuweisen, sofern das Skript an die Tabelle gebunden ist. Das folgende Beispiel zeigt, wie dies eingerichtet wird.

  1. Wählen Sie in Google Tabellen den Menüpunkt Erweiterungen > Apps Script aus, um ein Skript zu erstellen, das an die Tabelle gebunden ist.
  2. Löschen Sie jeglichen Code im Skripteditor und fügen Sie den unten angegebenen Code ein.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Kehren Sie zu Google Tabellen zurück und fügen Sie ein Bild oder eine Zeichnung ein. Wählen Sie dazu Einfügen > Bild oder Einfügen > Zeichnung aus.

  4. Klicken Sie auf das Bild oder die Zeichnung, nachdem Sie es eingefügt haben. In der oberen rechten Ecke wird eine kleine Drop-down-Menüauswahl angezeigt. Klicken Sie darauf und wählen Sie Script zuweisen aus.

  5. Geben Sie im angezeigten Dialogfeld den Namen der Apps Script-Funktion ein, die Sie ausführen möchten (ohne Klammern), in diesem Fall showMessageBox. Klicken Sie auf OK.

  6. Klicken Sie noch einmal auf das Bild oder die Zeichnung. Die Funktion wird jetzt ausgeführt.