Mit dem erweiterten Docs-Dienst können Sie die Google Docs API in Apps Script verwenden. Ähnlich wie beim integrierten Docs-Dienst von Apps Script können Scripts mit dieser API Inhalte in Google Docs lesen, bearbeiten und formatieren. In den meisten Fällen ist der integrierte Dienst einfacher zu verwenden, aber dieser erweiterte Dienst bietet einige zusätzliche Funktionen.
Referenz
Weitere Informationen zu diesem Dienst finden Sie in der Referenzdokumentation für die Docs API. Wie alle erweiterten Dienste in Apps Script verwendet der erweiterte Docs-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter Methodensignaturen bestimmen.
Informationen zum Melden von Problemen und zur Suche nach weiterer Unterstützung finden Sie im Supportleitfaden für die Docs API.
Beispielcode
Im folgenden Beispielcode wird Version 1 der API verwendet.
Dokument erstellen
In diesem Beispiel wird ein neues Dokument erstellt.
Text suchen und ersetzen
In diesem Beispiel werden Textpaare auf allen Tabs in einem Dokument gefunden und ersetzt. Das kann nützlich sein, wenn Sie Platzhalter in einer Kopie eines Vorlagendokuments durch Werte aus einer Datenbank ersetzen möchten.
Text einfügen und formatieren
In diesem Beispiel wird neuer Text am Anfang des ersten Tabs im Dokument eingefügt und mit einer bestimmten Schriftart und -größe formatiert. Aus Effizienzgründen sollten Sie nach Möglichkeit mehrere Vorgänge in einem einzigen batchUpdate
-Aufruf zusammenfassen.
Ersten Absatz lesen
In diesem Beispiel wird der Text des ersten Absatzes des ersten Tabs im Dokument protokolliert. Aufgrund der strukturierten Natur von Absätzen in der Docs API müssen Sie dazu den Text mehrerer untergeordneter Elemente kombinieren.
Best Practices
Batch-Updates
Wenn Sie den erweiterten Docs-Dienst verwenden, kombinieren Sie mehrere Anfragen in einem Array, anstatt batchUpdate
in einer Schleife aufzurufen.
Nicht: batchUpdate
in einer Schleife aufrufen.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Do: batchUpdate
mit einer Reihe von Updates aufrufen.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);