Zaawansowana usługa Dokumenty umożliwia korzystanie z interfejsu Google Docs API w Apps Script. Podobnie jak wbudowana usługa Dokumentów w Apps Script, ten interfejs API umożliwia skryptom odczytywanie, edytowanie i formatowanie treści w Dokumentach Google. W większości przypadków łatwiej jest korzystać z usługi wbudowanej, ale ta zaawansowana usługa oferuje kilka dodatkowych funkcji.
Dokumentacja
Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu Docs API. Podobnie jak wszystkie zaawansowane usługi w Apps Script, zaawansowana usługa Docs używa tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są podpisy metod.
Aby zgłaszać problemy i uzyskać inną pomoc, zapoznaj się z przewodnikiem po interfejsie Docs API.
Przykładowy kod
Przykładowy kod poniżej korzysta z wersji 1 interfejsu API.
Utwórz dokument
Ten przykład tworzy nowy dokument.
Znajdowanie i zastępowanie tekstu
Ten przykładowy kod znajduje i zastępuje pary tekstu na wszystkich kartach w dokumencie. Może to być przydatne podczas zastępowania w kopii dokumentu szablonu zastępczych zmiennych wartościami z bazy danych.
Wstawianie i stylizowanie tekstu
W tym przykładzie nowy tekst jest wstawiany na początku pierwszej karty w dokumencie i stylizowany za pomocą określonej czcionki i rozmiaru. Pamiętaj, że w celu zwiększenia wydajności warto łączyć wiele operacji w jednym wywołaniu batchUpdate
.
Czytaj pierwszy akapit
Ten przykład rejestruje tekst pierwszego akapitu na pierwszej karcie w dokumencie. Ze względu na uporządkowany charakter akapitów w interfejsie Docs API, wymaga to połączenia tekstu wielu podelementów.
Sprawdzone metody
Aktualizacje zbiorcze
Jeśli korzystasz z zaawansowanej usługi Dokumenty, połącz wiele żądań w tablicy zamiast wywoływać funkcję batchUpdate
w pętli.
Nie – wywołanie funkcji batchUpdate
w pętli.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Zrób – wywołanie funkcji batchUpdate
z tablicą aktualizacji.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);