Mit Scripts können bestimmte Google-Produkte erweitert werden, indem Benutzeroberflächenelemente hinzugefügt werden, die beim Klicken eine Apps Script-Funktion ausführen. Das häufigste Beispiel ist das Ausführen eines Skripts über ein benutzerdefiniertes Menüelement in Google Docs, Google Sheets, Google Präsentationen oder Google Formulare. Skriptfunktionen können aber auch durch Klicken auf Bilder und Zeichnungen in Google Sheets ausgelöst werden.
Benutzerdefinierte Menüs in Google Docs, Google Sheets, Google Präsentationen oder Google Formulare
Mit Apps Script können Sie in Google Docs, Google Sheets, Google Präsentationen oder Google Formulare neue Menüs 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 zum Bearbeiten öffnen, nicht für Nutzer, die das Formular zum Beantworten öffnen.
Ein Script kann nur dann ein Menü erstellen, wenn es an das Dokument, die Tabelle oder das Formular gebunden ist.
Wenn das Menü angezeigt werden soll, wenn der Nutzer eine Datei öffnet, schreiben Sie den Menücode in eine onOpen()
-Funktion.
Im folgenden Beispiel wird gezeigt, wie Sie ein Menü mit einem Element, gefolgt von einem visuellen Trennzeichen und dann einem Untermenü mit einem weiteren Element hinzufügen. Hinweis: In Google Tabellen müssen Sie, sofern Sie nicht die neue Version verwenden, die Syntax addMenu()
verwenden. Untermenüs sind nicht möglich. Wenn der Nutzer eines der beiden Menüelemente auswählt, wird mit einer entsprechenden Funktion ein Benachrichtigungsdialogfeld geöffnet. Weitere Informationen zu den 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 kann nur ein Menü mit einem bestimmten Namen enthalten. Wenn dasselbe oder ein anderes Skript ein Menü mit demselben Namen hinzufügt, wird das alte Menü durch das neue ersetzt. Menüs können nicht entfernt werden, während die Datei geöffnet ist. Sie können jedoch Ihre onOpen()
-Funktion so schreiben, dass das Menü in Zukunft übersprungen wird, wenn eine bestimmte Property festgelegt ist.
Anklickbare Bilder und Zeichnungen in Google Sheets
Sie können auch eine Apps Script-Funktion einem Bild oder einer Zeichnung in Google Tabellen zuweisen, sofern das Skript an die Tabelle gebunden ist. Das folgende Beispiel zeigt, wie Sie das einrichten.
- Wählen Sie in Google Tabellen das Menüelement Erweiterungen > Apps Script aus, um ein an die Tabelle gebundenes Skript zu erstellen.
Löschen Sie jeglichen Code im Skripteditor und fügen Sie den unten angegebenen Code ein.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
Kehren Sie zu Google Sheets zurück und fügen Sie ein Bild oder eine Zeichnung ein, indem Sie Einfügen > Bild oder Einfügen > Zeichnung auswählen.
Klicken Sie nach dem Einfügen des Bilds oder der Zeichnung darauf. Oben rechts wird ein kleines Drop-down-Menü angezeigt. Klicken Sie darauf und wählen Sie Skript zuweisen aus.
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.Klicken Sie noch einmal auf das Bild oder die Zeichnung. Die Funktion wird jetzt ausgeführt.