Ein Script ist an eine Datei in Google Sheets, Docs, Präsentationen oder Formulare gebunden, wenn es aus diesem Dokument und nicht als eigenständiges Script erstellt wurde. Die Datei, an die ein gebundenes Skript angehängt ist, wird als „Container“ bezeichnet. Gebundene Scripts verhalten sich im Allgemeinen wie eigenständige Scripts, mit der Ausnahme, dass sie nicht in Google Drive angezeigt werden, nicht von der Datei getrennt werden können, an die sie gebunden sind, und einige spezielle Berechtigungen für die übergeordnete Datei erhalten.
Skripts können auch an Google Sites gebunden werden. Diese Skripts werden jedoch fast immer als Web-Apps bereitgestellt. An Google Sheets, Docs, Präsentationen oder Formulare gebundene Skripts können auch Web-Apps werden, obwohl dies ungewöhnlich ist.
Gebundenes Skript erstellen
Google Docs, Google Sheets oder Google Präsentationen
Wenn Sie ein gebundenes Skript in Google Docs, Sheets oder Präsentationen erstellen möchten, öffnen Sie ein Dokument in Docs, eine Tabelle in Sheets oder eine Präsentation in Präsentationen und klicken Sie auf Erweiterungen > Apps Script. Wenn Sie das Skript später wieder öffnen möchten, gehen Sie genauso vor oder öffnen Sie es über das Apps Script-Dashboard.
Google Formulare
Wenn Sie ein gebundenes Skript in Google Formulare erstellen möchten, öffnen Sie ein Formular und klicken Sie auf das Dreipunkt-Menü > Scripteditor. Wenn Sie das Skript später wieder öffnen möchten, gehen Sie genauso vor oder öffnen Sie es über das Apps Script-Dashboard.
Spezielle Methoden
Gebundene Skripts können einige Methoden aufrufen, die in eigenständigen Skripts nicht verfügbar sind:
getActiveSpreadsheet(),getActiveDocument(),getActivePresentation(), undgetActiveForm()ermöglichen es, dass in gebundenen Skripts auf die übergeordnete Datei verwiesen wird, ohne dass die ID der Datei angegeben werden muss.- Mit
getUikönnen gebundene Skripts auf die Benutzeroberfläche der übergeordneten Datei zugreifen, um benutzerdefinierte Menüs, Dialogfelder und Seitenleisten hinzuzufügen. - In Google Tabellen können Sie mit
getActiveSheet(),getActiveRange()undgetActiveCell()festlegen, dass das Script die aktuelle Tabelle, den ausgewählten Zellenbereich oder die ausgewählte einzelne Zelle des Nutzers ermittelt.setActiveSheet(sheet)undsetActiveRange(range)ermöglichen es dem Script, diese Auswahl zu ändern. - In Google Docs können Sie mit
getActiveTab(),getCursor()undgetSelection()den aktuellen Tab, die Cursorposition oder den ausgewählten Text des Nutzers ermitteln.setActiveTab(tabId),setCursor(position)undsetSelection(range)ermöglichen es dem Skript, diese Auswahlen zu ändern.
Weitere Informationen finden Sie im Leitfaden zum Erweitern von Google Sheets oder im Leitfaden zum Erweitern von Google Docs.
Benutzerdefinierte Menüs, Dialogfelder und Seitenleisten
Mit gebundenen Skripts können Sie Google Sheets, Google Docs und Google Formulare anpassen, indem Sie benutzerdefinierte Menüs und Dialogfelder oder Seitenleisten hinzufügen. Ein Skript kann jedoch nur mit der Benutzeroberfläche der aktuellen Instanz einer geöffneten Datei interagieren. Ein an ein Dokument gebundenes Skript kann also nicht die Benutzeroberfläche eines anderen Dokuments beeinflussen.
Trigger
Gebundene Skripts können einfache Trigger wie die spezielle Funktion onOpen() verwenden, die automatisch ausgeführt wird, wenn eine Datei von einem Nutzer mit Bearbeitungszugriff geöffnet wird. Wie alle Arten von Skripts können sie auch installierbare Trigger verwenden.
Benutzerdefinierte Funktionen
Eine benutzerdefinierte Funktion ist eine Funktion in einem an Google Sheets gebundenen Script, die Sie direkt aus einer Zelle mit der Syntax =myFunctionName() aufrufen. Benutzerdefinierte Funktionen ähneln den Hunderten von integrierten Funktionen in Google Tabellen wie AVERAGE oder SUM. Der Unterschied besteht darin, dass Sie das Verhalten der benutzerdefinierten Funktion definieren.
Zugriff auf gebundene Skripts
Nur Nutzer mit der Berechtigung zum Bearbeiten eines Containers können das zugehörige gebundene Skript ausführen. Mitbearbeiter mit Lesezugriff können den Scripteditor nicht öffnen. Wenn sie jedoch eine Kopie der Containerdatei erstellen, werden sie zum Inhaber der Kopie und können eine Kopie des Scripts sehen und ausführen.
Informationen zum Freigeben der Containerdatei eines Skripts finden Sie unter Dateien in Google Drive freigeben.