テキスト範囲(TextRange
型で表される)を使用して、テキストを編集し、スタイルを設定できます。TextRange
は、図形内またはテーブル セル内のテキストのセグメントを表します。図形またはテーブル セルで getText()
を呼び出すと、テキスト全体をカバーするテキスト範囲が返されます。
テキストが図形内に収まるように編集するメソッドを使用すると、図形に適用されている自動調整の設定は無効になります。
テキスト範囲の使用
テキスト範囲には、テキスト範囲でカバーされるテキストのセグメントを区切る 2 つのインデックス(開始インデックスと終了インデックス)があります。これらのインデックスは、getStartIndex()
関数と getEndIndex()
関数を使用して特定できます。
テキスト範囲の内容を読み取るには、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