Tekst możesz edytować i zmieniać jego styl za pomocą zakresów tekstowych, które są reprezentowane przez typ TextRange
. TextRange
reprezentuje fragment tekstu w obrębie kształtu lub w komórce tabeli. Wywołanie getText()
w komórce kształtu lub tabeli zwraca zakres tekstowy, który obejmuje cały tekst.
Jeśli użyjesz metod, które zmieniają sposób dopasowania tekstu do kształtu, wszystkie jego ustawienia automatycznego dopasowania zostaną wyłączone.
Korzystanie z zakresów tekstowych
Zakres tekstu obejmuje 2 indeksy ograniczające segment tekstu objętego zakresem tekstowym: indeks początkowy i indeks końcowy. Indeksy te możesz określić za pomocą funkcji getStartIndex()
i getEndIndex()
.
Aby odczytać zawartość zakresu tekstowego, użyj funkcji asString()
lub asRenderedString()
.
Aby pobrać podzakres z zakresu tekstowego, użyj funkcji getRange()
.
Ten skrypt tworzy pole tekstowe na pierwszym slajdzie, a jego treść zawiera tekst „Hello world”. Pobiera podzakres, który obejmuje tylko element „Hello”.
Zakres tekstu zwracany przez kształt lub komórkę tabeli zawsze obejmuje cały tekst, nawet jeśli został on wstawiony i usunięty. Powyższy przykład generuje następujące instrukcje logowania:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Wstawianie i usuwanie tekstu
Za pomocą zakresów tekstowych możesz też wstawiać i usuwać kształty oraz komórki tabeli.
- Możesz wstawić tekst za pomocą
insertText()
iappendText()
. setText()
zastępuje tekst z zakresu tekstowego podanym tekstem.clear()
usuwa tekst z określonego zakresu.
Skrypt poniżej pokazuje, jak używać tych funkcji:
Ten skrypt tworzy pole tekstowe na pierwszym slajdzie, a jego zawartość zawiera tekst „Hello world”. Następnie usuwa znaki od 6 do 11 („świat”) i wstawia tekst „galaktyka” w indeksie 6. Powyższy przykład generuje taką instrukcję logowania:
Start: 0; End: 14; Content: Hello galaxy!
Wyszukaj i zamień
Za pomocą funkcji replaceAllText()
w prezentacji lub na stronie możesz przeprowadzić globalne wyszukiwanie lub zastąpić całą prezentację lub konkretną stronę.
Funkcja find()
w TextRange zwraca instancje ciągu w zakresie. Tej funkcji można używać razem z funkcją setText()
do wyszukiwania i zastępowania w komórce kształtu lub tabeli.
Akapity, elementy listy i uruchomienia
TextRange
udostępnia funkcje zwracające przydatne kolekcje encji tekstowych.
Do tych funkcji należą:
getParagraphs(),
, który zawiera wszystkie akapity, które nakładają się na zakres tekstu. Akapit to ciąg tekstu, który kończy się znakiem nowego wiersza: „\n”.getListParagraphs(),
, który zwraca elementy listy z bieżącego zakresu tekstowego.getRuns(),
, który podaje uruchomienia tekstu, które pokrywają się z bieżącym zakresem tekstu. Uruchomienie tekstu to segment tekstu, w którym wszystkie znaki mają ten sam styl tekstu.
Styl tekstu
Styl tekstu określa renderowanie znaków tekstu w prezentacji, w tym czcionki, koloru i hiperlinków.
Funkcja getTextStyle()
zakresu tekstowego zawiera obiekt TextStyle
używany do określania stylu tekstu. Obiekt TextStyle
zawiera taki sam tekst jak obiekt nadrzędny TextRange
.
W powyższym przykładzie najpierw tworzy pole tekstowe na pierwszym slajdzie, a jego zawartość ustawia na „Hello”. Następnie dołącza tekst „world!”. Nowo załączony tekst jest pogrubiony i połączony z adresem www.example.com
, a jego kolor jest czerwony.
Podczas odczytywania stylów funkcja zwraca wartość null, jeśli zakres ma wiele wartości stylu. Powyższy przykład generuje następujące instrukcje:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
Istnieje wiele innych stylów, które można zastosować do tekstu. Więcej informacji znajdziesz w dokumentacji referencyjnej TextStyle
.
Styl akapitu
Style akapitu dotyczą całych akapitów i obejmują między innymi wyrównanie tekstu i odstępy między wierszami. Funkcja getParagraphStyle() w metodzie TextRange
udostępnia obiekt ParagraphStyle
do określania stylu wszystkich akapitów, które nakładają się na zakres nadrzędnego tekstu.
Poniższy przykład tworzy pole tekstowe na pierwszym slajdzie z czterema akapitami, a środek wyrównuje pierwsze trzy akapity.
Styl listy
Podobnie jak ParagraphStyle
ListStyle
może być używany do określania stylu wszystkich akapitów, które nakładają się na zakres tekstu nadrzędnego.
Powyższy przykład tworzy pole tekstowe na pierwszym slajdzie zawierające 4 akapity: drugi akapit ma wcięcie przed drugim, a trzeci – wcięcie 2 razy. Następnie zastosowano we wszystkich akapitach gotowe ustawienia listy. Na koniec rejestrowany jest poziom zagnieżdżania poszczególnych akapitów. Poziom zagnieżdżania akapitu zależy od liczby kart przed tekstem akapitu. Powyższy skrypt tworzy następujące instrukcje logu:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0