Erweitern von Google-Tabellen

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

Die meisten für Google Tabellen entwickelten Skripts bearbeiten Arrays, mit den Zellen, Zeilen und Spalten in einer Tabelle interagieren können. Wenn Sie nicht mit Arrays in JavaScript vertraut sind, bietet Codecademy hervorragendes Trainingsmodul für Arrays. Hinweis: Dieser Kurs wurde nicht von Google entwickelt und ist nicht in Verbindung mit Google.

Eine kurze Einführung in die Verwendung von Apps Script mit Google Tabellen finden Sie auf der 5-minütige Kurzanleitung für Makros, Menüs und benutzerdefinierte Funktionen.

Erste Schritte

Apps Script enthält spezielle APIs, mit denen Sie Google Tabellen bearbeiten. Apps Script kann auf zwei Arten mit Google Tabellen interagieren. Möglichkeiten: Jedes Skript kann eine Tabelle erstellen oder ändern, Berechtigungen für die Tabelle. Außerdem kann ein Skript an eine Tabelle gebunden, bietet dem Skript besondere Möglichkeiten, die Benutzeroberfläche zu ändern oder auf wird die Tabelle geöffnet. Zum Erstellen eines gebundenen Skripts wählen Sie Erweiterungen > Apps Script von innerhalb Google Tabellen.

Der Tabellendienst behandelt Google Tabellen als Raster, die mit zweidimensionalen Arrays arbeiten. So rufen Sie die Daten ab: müssen Sie Zugriff auf die Tabellenkalkulation erhalten, in der die Daten rufen Sie den Bereich mit den Daten in der Tabellenkalkulation ab Werte der Zellen hinzu. Apps Script erleichtert den Zugriff auf die Daten, indem in der Tabellenkalkulation und erstellen JavaScript-Objekte.

Daten lesen

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

Das folgende Beispiel zeigt, wie Produktnamen und Produkte abgerufen und protokolliert werden Zahlen.

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

Um die protokollierten Daten anzuzeigen, klicken Sie oben im Skripteditor auf Ausführungsprotokoll:

Daten schreiben

Um Daten wie einen neuen Produktnamen und eine neue Produktnummer zu speichern, Tabellenkalkulationsprogramms den folgenden Code am Ende des Skripts ein.

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

Mit dem obigen Code wird unten in der Tabelle eine neue Zeile angehängt, Werte angegeben. Wenn Sie diese Funktion ausführen, sehen Sie, dass eine neue Zeile Tabelle.

Benutzerdefinierte Menüs und Benutzeroberflächen

Sie können Google Tabellen anpassen, indem Sie benutzerdefinierte Menüs, Dialogfelder und Seitenleisten. Grundlegende Informationen zum Erstellen von Menüs finden Sie in der Leitfaden zu Speisekarten. Weitere Informationen zum Anpassen der eines Dialogfelds enthält, finden Sie Leitfaden zum HTML-Dienst.

Sie können auch eine Skriptfunktion an ein Bild oder eine Zeichnung Tabellenkalkulation; wird die Funktion ausgeführt, wenn Nutzende auf das Bild oder zeichnen können. Weitere Informationen finden Sie unter Bilder und Zeichnungen in Google Tabellen.

Wenn Sie Ihre benutzerdefinierte Oberfläche als Teil eines Add-on folgen Sie der Styleguide, um sie an die Stil und Layout des Google Tabellen-Editors.

Mit Google Formulare verbinden

Mit Apps Script können Sie Google Formulare über Google Formulare und Tabellendienste. Diese Funktion können anhand von Daten in einer Tabelle automatisch ein Google-Formular erstellen. 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 Anleitung zum Verwalten Antworten für Google Formulare – Kurzanleitung (5 Minuten)

Formatierung

Die Klasse Range hat Methoden wie setBackground(color) um auf das Format einer Zelle oder eines Zellenbereichs zuzugreifen und dieses zu ändern. Die folgenden Das 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 in Google Tabellen auf bestehende Datenvalidierungsregeln zugreifen oder neue Regeln erstellen. Im folgenden Beispiel sehen Sie, wie ein Datenvalidierungsregel, 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. Im folgenden Beispiel wird ein eingebettetes Balkendiagramm generiert. Dabei wird davon ausgegangen, In den Zellen A1:B15 befinden sich diagrammfähige Daten:

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 Ihre Tabellenkalkulation siehe EmbeddedChart und Diagrammerstellung, z. B. EmbeddedPieChartBuilder

Benutzerdefinierte Funktionen in Google Tabellen

Eine benutzerdefinierte Funktion ähnelt einer integrierte Tabellenkalkulationsfunktion wie =SUM(A1:A5), nur dass Sie Funktionsweise von Apps Script. Sie können beispielsweise eine benutzerdefinierte in2mm(), die einen Wert von Zoll in Millimeter umwandelt, und verwenden dann Tabelle erstellen, indem Sie =in2mm(A1) oder =in2mm(10) in ein Zelle.

Weitere Informationen zu benutzerdefinierten Funktionen finden Sie in der Menüs und benutzerdefinierte Funktionen eine 5-minütige Kurzanleitung oder einen ausführlicheren Leitfaden zu benutzerdefinierten Funktionen.

Makros

Makros sind eine weitere Möglichkeit, Apps Script-Code über die Benutzeroberfläche von Google Tabellen auszuführen. Im Gegensatz zu benutzerdefinierten Funktionen aktivieren Sie diese mit einer Tastenkombination oder über Google Tabellen-Menü. 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 installiert werden können aus dem Add-on-Store für Google Tabellen. Skript für Google Tabellen und sie mit der ganzen Welt teilen möchten, können Sie mit Apps Script veröffentlichen des Skripts als , damit 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 verwenden onOpen() und onEdit() antworten automatisch, wenn ein Nutzer, der das Dokument bearbeitet hat, auf die Tabelle zugreifen kann, wird sie geöffnet oder bearbeitet.

Wie bei einfachen Auslösern installierbare Trigger lassen Google Tabellen eine Funktion automatisch ausführen, wenn ein bestimmtes Ereignis eintritt. Installierbar bieten jedoch mehr Flexibilität als einfache Trigger Ereignisse vom Typ „Öffnen“, „Bearbeiten“, „Ändern“, „Formular senden“ und „Zeitgesteuert (Uhr)“.