TextRange 型で表されるテキスト範囲を使用して、テキストを編集し、スタイルを設定します。TextRange は、図形内またはテーブル セル内のテキストのセグメントを表します。図形またはテーブル セルで getText を呼び出すと、テキスト全体をカバーするテキスト範囲が返されます。
テキストが図形内に収まるように編集するメソッドを使用すると、図形に適用されている自動調整の設定は無効になります。
テキスト範囲を使用する
テキスト範囲には、テキスト範囲でカバーされるテキストのセグメントを区切る 2 つのインデックス(開始インデックスと終了インデックス)があります。これらのインデックスは、getStartIndex 関数と getEndIndex 関数を使用して決定します。
テキスト範囲の開始インデックスは含まれ、終了インデックスは含まれません。どちらのインデックスも 0 から始まります。
テキスト範囲の内容を読み取るには、asString 関数または asRenderedString 関数を使用します。
テキスト範囲内のサブ範囲を取得するには、getRange 関数を使用します。
次のスクリプトは、最初のスライドにテキスト ボックスを作成し、そのテキスト コンテンツを「Hello world!」に設定します。次に、「Hello」だけを含むサブレンジを取得します。
図形または表のセルから返されるテキスト範囲は、テキストが挿入または削除されても、常にテキスト全体をカバーします。この例では、次のログステートメントが生成されます。
Start: 0; End: 13; Content: Hello world!
Start: 0; End: 5; Content: Hello
テキストの挿入と削除
テキスト範囲を使用して、図形や表のセルにテキストを挿入したり削除したりできます。
insertTextとappendTextを使用すると、テキストを挿入できます。setTextは、テキスト範囲のテキストを指定されたテキストに置き換えます。clearは、テキスト範囲内のテキストを削除します。
次のスクリプトは、これらの関数の使用方法を示しています。
このスクリプトは、最初のスライドにテキスト ボックスを作成し、そのテキスト コンテンツを「Hello world!」に設定します。次に、6 ~ 11 文字目(「world」)を削除し、代わりにインデックス 6 に「galaxy」というテキストを挿入します。この例では、次のログ ステートメントが生成されます。
Start: 0; End: 14; Content: Hello galaxy!
検索と置換
プレゼンテーションまたはページで replaceAllText 関数を使用すると、プレゼンテーション全体または特定のページで一括検索と置換を実行できます。
TextRange の find 関数は、範囲内の文字列のインスタンスを返します。setText と組み合わせて、図形または表のセル内で検索と置換を行うことができます。
段落、リスト項目、実行
TextRange は、テキスト エンティティの有用なコレクションを返す関数を提供します。このような機能には、次のものが含まれます。
getParagraphs,。テキスト範囲と重複するすべての段落を提供します。段落は、改行文字「\n」で終わるテキストのシーケンスです。getListParagraphs,。現在のテキスト範囲内のリスト項目を返します。getRuns,。現在のテキスト範囲と重複するテキスト実行を提供します。テキスト実行とは、すべての文字が同じテキスト スタイルを持つテキストのセグメントです。
テキストのスタイル設定
テキスト スタイルは、フォント、色、ハイパーリンクなど、プレゼンテーションでのテキスト文字のレンダリングを決定します。
テキスト範囲の getTextStyle 関数は、テキストのスタイル設定に使用される TextStyle オブジェクトを提供します。TextStyle オブジェクトは、親の TextRange と同じテキストをカバーします。
上記の例では、まず最初のスライドにテキスト ボックスを作成し、その内容を「Hello 」に設定します。次に、「world!」というテキストを追加します。新しく追加されたテキストは太字になり、www.example.com にリンクされ、色が赤に設定されます。
スタイルを読み取る場合、範囲にスタイルの値が複数あると、関数は null を返します。このサンプルでは、次のログ ステートメントが生成されます。
Text: Hello; Bold: false
Text: world!; Bold: true
Text: Hello world!; Bold: null
テキストに適用できるスタイルは他にもたくさんあります。詳細については、TextStyle リファレンス ドキュメントをご覧ください。
段落のスタイル設定
段落スタイルは段落全体に適用され、テキストの配置や行間などが含まれます。TextRange の getParagraphStyle 関数は、親テキスト範囲と重複するすべての段落のスタイル設定に使用する ParagraphStyle オブジェクトを提供します。
次の例では、最初のスライドに 4 つの段落を含むテキスト ボックスを作成し、最初の 3 つの段落を中央揃えにします。
リストのスタイル設定
ParagraphStyle と同様に、ListStyle を使用して、親テキスト範囲と重複するすべての段落のスタイルを設定できます。
上記の例では、最初のスライドにテキスト ボックスを作成し、4 つの段落を含めます。2 番目の段落は 1 回インデントされ、3 番目の段落は 2 回インデントされます。次に、リストのプリセットをすべての段落に適用します。最後に、各段落のネストレベルがログに記録されます。段落のネストレベルは、段落のテキストの前のタブの数から取得されます。そのため、スクリプトは次のログステートメントを生成します。
Paragraph 1's nesting level: 0
Paragraph 2's nesting level: 1
Paragraph 3's nesting level: 2
Paragraph 4's nesting level: 0