Vous pouvez modifier le texte et y appliquer un style en utilisant des plages de texte, représentées par le type TextRange
. Un TextRange
représente un segment de texte dans une forme ou dans une cellule de tableau. L'appel de getText()
sur une cellule de forme ou de tableau renvoie une plage de texte qui couvre l'intégralité du texte.
Si vous utilisez des méthodes qui modifient l'ajustement du texte dans une forme, tous les paramètres d'ajustement automatique qui lui sont appliqués sont désactivés.
Utiliser des plages de texte
Une plage de texte comprend deux index qui limitent le segment de texte couvert par une plage de texte: l'index de début et l'index de fin. Vous pouvez déterminer ces index à l'aide des fonctions getStartIndex()
et getEndIndex()
.
Pour lire le contenu d'une plage de texte, utilisez les fonctions asString()
ou asRenderedString()
.
Pour récupérer une sous-plage à partir d'une plage de texte, utilisez la fonction getRange()
.
Le script suivant crée une zone de texte sur la première diapositive et définit son contenu sur "Hello World!". Elle récupère ensuite une sous-plage qui s'étend uniquement sur "Hello".
La plage de texte renvoyée par une forme ou une cellule de tableau couvre toujours l'intégralité du texte, même s'il est inséré et supprimé. Ainsi, l'exemple ci-dessus génère les instructions de journalisation suivantes:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Insérer et supprimer du texte
Vous pouvez également insérer et supprimer des formes de texte et des cellules de tableau à l'aide d'une plage de texte.
insertText()
etappendText()
vous permettent d'insérer du texte.setText()
remplace le texte d'une plage de texte par le texte fourni.clear()
supprime le texte d'une plage de texte.
Le script suivant illustre l'utilisation de ces fonctions:
Ce script crée une zone de texte sur la première diapositive et définit son contenu textuel sur "Hello World!". Il supprime ensuite les caractères de 6 à 11 ("world") et insère le texte "galaxy" à l'index 6 à la place. L'exemple ci-dessus génère l'instruction de journalisation suivante:
Start: 0; End: 14; Content: Hello galaxy!
Rechercher et remplacer
Utilisez la fonction replaceAllText()
sur la présentation ou la page pour effectuer une recherche et un remplacement globaux sur l'ensemble de la présentation ou sur une page spécifique.
La fonction find()
sur TextRange renvoie les instances d'une chaîne dans la plage. Il peut être utilisé avec setText()
pour effectuer une recherche et un remplacement dans une cellule de forme ou de tableau.
Paragraphes, listes d'éléments et exécutions
TextRange
fournit des fonctions permettant de renvoyer des collections utiles d'entités textuelles.
En voici quelques-unes:
getParagraphs(),
, qui fournit tous les paragraphes qui chevauchent la plage de texte. Un paragraphe est une séquence de texte se terminant par le caractère de retour à la ligne, "\n".getListParagraphs(),
, qui renvoie les éléments de la liste dans la plage de texte actuelle.getRuns(),
, qui fournit les exécutions de texte qui chevauchent la plage de texte actuelle. Une exécution de texte est un segment de texte où tous les caractères ont le même style.
Style du texte
Le style de texte détermine le rendu des caractères de texte de votre présentation, y compris la police, la couleur et les liens hypertexte.
La fonction getTextStyle()
d'une plage de texte fournit un objet TextStyle
permettant de styliser le texte. L'objet TextStyle
couvre le même texte que son TextRange
parent.
L'exemple ci-dessus crée d'abord une zone de texte sur la première diapositive, puis définit son contenu sur "Hello" et ajoute le texte "world!". Le texte ajouté en gras est lié à www.example.com
. Sa couleur est définie sur rouge.
Lors de la lecture des styles, la fonction renvoie la valeur "null" si la plage comporte plusieurs valeurs pour le style. L'exemple ci-dessus génère les instructions de journalisation suivantes:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
De nombreux autres styles peuvent être appliqués au texte. Pour en savoir plus, consultez la documentation de référence sur TextStyle
.
Style des paragraphes
Les styles de paragraphe s'appliquent à des paragraphes entiers et incluent des éléments tels que l'alignement du texte et l'espacement des lignes. La fonction getParagraphStyle() dans TextRange
fournit un objet ParagraphStyle
permettant de styliser tous les paragraphes qui chevauchent la plage de texte parente.
L'exemple suivant crée une zone de texte sur la première diapositive avec quatre paragraphes, puis aligne les trois premiers paragraphes.
Style de liste
Comme pour ParagraphStyle
, vous pouvez utiliser ListStyle
pour appliquer un style à tous les paragraphes qui chevauchent la plage de texte parente.
L'exemple ci-dessus crée une zone de texte sur la première diapositive, qui contient quatre paragraphes : le deuxième paragraphe est en retrait une fois et le troisième paragraphe en retrait deux fois. Elle applique ensuite une liste prédéfinie à tous les paragraphes. Enfin, le niveau d'imbrication de chaque paragraphe est consigné. (Le niveau d'imbrication du paragraphe provient du nombre de tabulations avant le texte du paragraphe.) Le script ci-dessus génère donc les instructions de journalisation suivantes:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0