追加機能を使用して Google ドキュメントのコンテンツを読み取り、編集し、書式設定するスクリプト。
高度なドキュメント サービスを使用すると、 Google ドキュメント API を Google Apps Script で使用できます。Apps Script の組み込みドキュメント サービスと同様に、この API を使用すると、スクリプトで Google ドキュメントのコンテンツを読み取り、編集し、書式設定できます。ほとんどの場合、組み込みサービスの方が使いやすいですが、この高度なサービスにはいくつかの追加機能があります。
これは、使用する前に有効にする必要がある高度なサービスです。ご利用の開始にあたっては、クイックスタートの手順をご覧ください。
リファレンス
このサービスの詳細については、 ドキュメント API のリファレンス ドキュメントをご覧ください。 Apps Script のすべての高度なサービスと同様に、高度なドキュメント サービスでは、公開 API と同じオブジェクト、メソッド、パラメータを使用します。詳細については、 メソッドのシグネチャの決定方法をご覧ください。
問題の報告やその他のサポートについては、 ドキュメント API のサポートガイドをご覧ください。
サンプルコード
次のサンプルコードでは、API のバージョン 1 を使用します。
ドキュメントを作成
このサンプルでは、新しいドキュメントを作成します。
テキストの検索と置換
このサンプルでは、ドキュメント内のすべてのタブでテキストのペアを検索して置換します。これは、テンプレート ドキュメントのコピー内のプレースホルダをデータベースの値に置き換える場合に便利です。
テキストの挿入とスタイルの設定
このサンプルでは、ドキュメントの最初のタブの先頭に新しいテキストを挿入し、特定のフォントとサイズでスタイルを設定します。可能な場合は、効率を高めるために、複数のオペレーションを 1 つの batchUpdate 呼び出しにバッチ処理することをおすすめします。
最初の段落を読み取る
このサンプルでは、ドキュメントの最初のタブの最初の段落のテキストをログに記録します。ドキュメント API の段落は構造化されているため、複数のサブ要素のテキストを組み合わせる必要があります。
ベスト プラクティス
バッチ アップデート
高度なドキュメント サービスを使用する場合は、ループで batchUpdate を呼び出すのではなく、複数のリクエストを配列に結合します。
不可: ループで batchUpdate を呼び出す。
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
可: 更新の配列を使用して batchUpdate を呼び出す。
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);