Google Tabellen verlängern

Mit Google Apps Script können Sie neue Funktionen von Google Tabellen nutzen. Mit Apps Script können Sie benutzerdefinierte Menüs, Dialogfelder und Seitenleisten in Google Tabellen hinzufügen. Außerdem können Sie damit benutzerdefinierte Funktionen für Google Tabellen erstellen 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 so, dass sie mit den Zellen, Zeilen und Spalten in einer Tabelle interagieren. Wenn Sie mit JavaScript-Arrays nicht vertraut sind, bietet Codecademy ein tolles Schulungsmodul 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 5-minü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 auf zwei Arten mit Google Tabellen interagieren: Mit jedem Skript kann eine Tabelle erstellt oder geändert werden, wenn der Nutzer die entsprechenden Berechtigungen für die Tabelle hat. Außerdem kann ein Skript an eine Tabelle gebunden werden, wodurch das Skript spezielle Möglichkeiten zum Ändern der Benutzeroberfläche oder zum Öffnen der Tabelle hat. Wenn Sie ein gebundenes Skript erstellen möchten, wählen Sie in Google Tabellen Erweiterungen > Apps Script aus.

Der Tabellendienst behandelt Google Tabellen als Raster, das mit zweidimensionalen Arrays arbeitet. Um die Daten aus der Tabelle abzurufen, müssen Sie auf die Tabelle zugreifen, 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 dafür 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 am Ende des Skripts den folgenden Code ein, um Daten wie einen neuen Produktnamen und eine neue Nummer 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 im Leitfaden 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 innerhalb einer Tabelle anhängen. Die Funktion wird ausgeführt, wenn ein Nutzer auf das Bild klickt oder zeichnet. Weitere Informationen finden Sie unter Bilder und Zeichnungen in Google Tabellen.

Wenn du deine benutzerdefinierte Benutzeroberfläche als Teil eines Add-ons veröffentlichen möchtest, folge dem Stilleitfaden, damit er dem Stil und Layout des Google Tabellen-Editors entspricht.

Mit Google Formulare verbinden

Mit Apps Script können Sie Google Formulare über Google Formulare und Google Tabellen mit Google Tabellen verbinden. Mit dieser Funktion kann anhand von Daten in einer Tabelle automatisch ein Google-Formular erstellt werden. Mit Apps Script können Sie auch Trigger verwenden, z. B. onFormSubmit, 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 diese zu ändern. Das folgende Beispiel zeigt, wie Sie die Schriftart 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 bestehende Datenvalidierungsregeln in Google Tabellen zugreifen oder neue Regeln erstellen. Das folgende Beispiel zeigt, wie Sie eine Datenvalidierungsregel festlegen, die nur Zahlen zwischen 1 und 100 in einer Zelle 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 davon ausgegangen wird, dass die Daten in den Zellen A1:B15 diagrammfähig sind:

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 Diagramm-Buildern, z. B. EmbeddedPieChartBuilder.

Benutzerdefinierte Funktionen in Google Tabellen

Eine benutzerdefinierte Funktion ähnelt einer integrierten Tabellenfunktion wie =SUM(A1:A5), nur dass Sie das Verhalten der Funktionen mit Apps Script definieren. Sie können beispielsweise die benutzerdefinierte Funktion in2mm() erstellen, die einen Wert von Zoll in Millimeter umwandelt, und dann die Formel in Ihrer Tabelle verwenden, indem Sie =in2mm(A1) oder =in2mm(10) in eine Zelle eingeben.

Weitere Informationen zu benutzerdefinierten Funktionen finden Sie in der 5-minütigen Kurzanleitung 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 aktivieren Sie sie mit einer Tastenkombination oder über das Google Tabellen-Menü. Weitere Informationen finden Sie unter Makros für Google Tabellen.

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 mit der Welt teilen möchten, können Sie es mit Apps Script als Add-on veröffentlichen, sodass andere Nutzer es aus dem 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.

Ähnlich wie einfache Trigger können Sie mit installierbaren Triggern in Google Tabellen eine Funktion automatisch ausführen lassen, wenn ein bestimmtes Ereignis eintritt. Installierbare Trigger bieten jedoch mehr Flexibilität als einfache Trigger und unterstützen die folgenden Ereignisse: „Öffnen“, „Bearbeiten“, „Ändern“, „Formular senden“ und „Zeitgesteuert (Uhr)“.