Google Tabellen verlängern

Mit Google Apps Script können Sie mit Google Tabellen neue Funktionen nutzen. Mit Apps Script können Sie Google Tabellen benutzerdefinierte Menüs, Dialogfelder und Seitenleisten hinzufügen. Außerdem können Sie benutzerdefinierte Funktionen für Google Tabellen schreiben und Google Tabellen in andere Google-Dienste wie Google Kalender, Google Drive und Gmail einbinden.

Die meisten Skripts, die für Google Tabellen entwickelt wurden, bearbeiten Arrays, um mit den Zellen, Zeilen und Spalten in einer Tabelle zu interagieren. Wenn Sie mit Arrays in JavaScript nicht vertraut sind, bietet Codecademy ein großartiges Trainingsmodul für Arrays. Hinweis: Dieser Kurs wurde nicht von Google entwickelt und ist nicht mit Google verknüpft.

Eine kurze Einführung in Apps Script mit Google Tabellen finden Sie in der fünfminütigen Kurzanleitung für Makros, Menüs und benutzerdefinierte Funktionen.

Erste Schritte

Apps Script enthält spezielle APIs, mit denen Sie Google-Tabellen programmatisch erstellen, lesen und bearbeiten können. Apps Script kann mit Google Tabellen auf zwei Arten interagieren: Ein Skript kann eine Tabelle erstellen oder ändern, wenn der Nutzer über die entsprechenden Berechtigungen für die Tabelle verfügt. Ein Skript kann außerdem an eine Tabelle gebunden werden, wodurch das Skript spezielle Möglichkeiten hat, die Benutzeroberfläche zu ändern oder zu reagieren, wenn die Tabelle geöffnet wird. Wenn Sie ein gebundenes Skript erstellen möchten, wählen Sie in Google Tabellen Erweiterungen > Apps Script aus.

Google Tabellen behandelt Google Tabellen als Raster und verwendet dazu zweidimensionale Arrays. Um die Daten aus der Tabelle abzurufen, müssen Sie auf die Tabelle zugreifen können, in der die Daten gespeichert sind, den Bereich in der Tabelle abrufen, der die Daten enthält, und dann die Werte der Zellen abrufen. Apps Script ermöglicht den Zugriff auf die Daten, indem es strukturierte Daten in der Tabelle liest und JavaScript-Objekte für sie erstellt.

Daten lesen

Angenommen, Sie haben eine Liste mit Produktnamen und Produktnummern, die Sie in einer Tabelle speichern, wie in der folgenden Abbildung dargestellt.

Das folgende Beispiel zeigt, wie Produktnamen und -nummern abgerufen und protokolliert werden.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Logs ansehen

Klicken Sie oben im Skripteditor auf Ausführungslog, um die protokollierten Daten aufzurufen.

Daten schreiben

Fügen Sie den folgenden Code am Ende des Skripts ein, um Daten wie einen neuen Produktnamen und eine neue Nummer in der Tabelle zu speichern.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Mit dem obigen Code wird unten in der Tabelle eine neue Zeile mit den angegebenen Werten angehängt. Wenn Sie diese Funktion ausführen, wird der Tabelle eine neue Zeile hinzugefügt.

Benutzerdefinierte Menüs und Benutzeroberflächen

Sie können Google Tabellen anpassen, indem Sie benutzerdefinierte Menüs, Dialogfelder und Seitenleisten hinzufügen. Informationen zum Erstellen von Menüs finden Sie in der Übersicht zu Menüs. Weitere Informationen zum Anpassen des Inhalts eines Dialogfelds finden Sie in der Anleitung zum HTML-Dienst.

Sie können auch eine Skriptfunktion an ein Bild oder eine Zeichnung in einer Tabelle anhängen. Die Funktion wird ausgeführt, wenn ein Nutzer auf das Bild oder die Zeichnung klickt. Weitere Informationen finden Sie im Hilfeartikel Bilder und Zeichnungen in Google Tabellen.

Wenn du deine benutzerdefinierte Oberfläche als Teil eines Add-ons veröffentlichen möchtest, folge den Stylerichtlinien, um Konsistenz und Stil des Google Tabellen-Editors zu nutzen.

Verbindung zu Google Formulare herstellen

Mit Apps Script können Sie Google Formulare über Google Formulare und Google Tabellen mit Google Tabellen verbinden. Mit dieser Funktion kann anhand der Daten in einer Tabelle automatisch ein Google-Formular erstellt werden. In Apps Script können Sie außerdem Trigger wie onFormSubmit verwenden, um eine bestimmte Aktion auszuführen, nachdem ein Nutzer auf das Formular geantwortet hat. Weitere Informationen zum Verbinden von Google Tabellen mit Google Formulare finden Sie in der 5-minütigen Kurzanleitung zum Verwalten von Antworten für Google Formulare.

Formatierung

Die Klasse Range bietet Methoden wie setBackground(color), um auf das Format einer Zelle oder eines Zellenbereichs zuzugreifen und sie zu ändern. Das folgende Beispiel zeigt, wie Sie den Schriftstil eines Bereichs festlegen können:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Datenvalidierung

Mit Apps Script können Sie auf vorhandene Datenvalidierungsregeln in Google Tabellen zugreifen oder neue Regeln erstellen. Das folgende Beispiel zeigt, wie Sie eine Datenvalidierungsregel festlegen, die in einer Zelle nur Zahlen zwischen 1 und 100 zulässt.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Weitere Informationen zum Arbeiten mit Datenvalidierungsregeln finden Sie unter SpreadsheetApp.newDataValidation(), DataValidationBuilder und Range.setDataValidation(rule).

Diagramme

Mit Apps Script können Sie Diagramme in eine Tabelle einbetten, die die Daten in einem bestimmten Bereich darstellen. Im folgenden Beispiel wird ein eingebettetes Balkendiagramm erstellt, in dem angenommen wird, dass die Zellen A1:B15 diagrammfähige Daten haben:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Weitere Informationen zum Einbetten eines Diagramms in eine Tabelle finden Sie unter EmbeddedChart und in bestimmten Buildern wie EmbeddedPieChartBuilder.

Benutzerdefinierte Funktionen in Google Tabellen

Eine benutzerdefinierte Funktion ähnelt einer integrierten Tabellenfunktion wie =SUM(A1:A5), mit der Ausnahme, dass Sie das Verhalten der Funktionen mit Apps Script definieren. Sie können beispielsweise die benutzerdefinierte Funktion in2mm() erstellen, mit der ein Wert von Zoll in Millimeter konvertiert wird, und diese Formel dann in Ihrer Tabelle anwenden. Geben Sie dazu =in2mm(A1) oder =in2mm(10) in eine Zelle ein.

Weitere Informationen zu benutzerdefinierten Funktionen finden Sie in der 5-Minuten-Kurzanleitung unter Menüs und benutzerdefinierte Funktionen oder in der ausführlichen Anleitung zu benutzerdefinierten Funktionen.

Makros

Makros sind eine weitere Möglichkeit, Apps Script-Code über die Google Tabellen-UI auszuführen. Im Gegensatz zu benutzerdefinierten Funktionen können Sie sie mit einer Tastenkombination oder über das Google Tabellen-Menü aktivieren. Weitere Informationen finden Sie unter Google Tabellen-Makros.

Add-ons für Google Tabellen

Add-ons sind speziell gepackte Apps Script-Projekte, die in Google Tabellen ausgeführt werden und aus dem Add-on-Store für Google Tabellen installiert werden können. Wenn Sie ein Skript für Google Tabellen entwickelt haben und es weltweit freigeben möchten, können Sie das Skript mit Apps Script als Add-on veröffentlichen, damit andere Nutzer es über den Add-on-Store installieren können.

Trigger

Skripts, die an eine Google Tabellen-Datei gebunden sind, können einfache Trigger wie die Funktionen onOpen() und onEdit() verwenden, um automatisch zu reagieren, wenn ein Nutzer mit Bearbeitungszugriff auf die Tabelle die Tabelle öffnet oder bearbeitet.

Wie einfache Trigger ermöglichen installierbare Trigger, dass Google Tabellen eine Funktion automatisch ausführt, wenn ein bestimmtes Ereignis eintritt. Installierbare Trigger bieten jedoch mehr Flexibilität als einfache Trigger und unterstützen die folgenden Ereignisse: Öffnen, Bearbeiten, Ändern, Senden von Formularen und Zeitgesteuert (Uhr).