Zaznaczenie to wszystko, co jest obecnie zaznaczone na otwartej stronie prezentacji, np. zakres wyróżnionego tekstu lub tabela. Z tego przewodnika dowiesz się, jak pobrać i ustawić zaznaczenie w aktywnej prezentacji za pomocą Apps Script.
Wybrany element jest zrzutem stanu w momencie rozpoczęcia skryptu. Jeśli użytkownik kliknie i wybór zmieni się podczas działania skryptu, te zmiany nie zostaną odzwierciedlone.
Wybory i typ wyboru
Możesz odczytać zaznaczenie za pomocą klasy Selection. Klasa ma różne metody pobierania wybranych obiektów na podstawie typu wybranych obiektów.
Wyliczenie SelectionType reprezentuje konkretny typ wybranych obiektów. Jeśli na przykład użytkownik zaznaczy tekst w kształcie, typ zaznaczenia będzie miał wartość TEXT. W takim przypadku możesz pobrać wybrany zakres tekstu za pomocą metody selection.getTextRange()
.
Możesz też pobrać obiekt zawierający zaznaczenie. Kontynuując powyższy przykład, możesz pobrać kształt zawierający zaznaczony tekst za pomocą selection.getPageElementRange().getPageElements()[0]
. Podobnie strona zawierająca kształt otaczający jest bieżącą aktywną stroną. Aby ją pobrać, użyj funkcji selection.getCurrentPage()
.
Odczytywanie zaznaczonego tekstu
Aby odczytać zaznaczenie, użyj metody Presentation.getSelection(), jak pokazano w tym przykładzie:
Odczytywanie bieżącej strony
Aby pobrać bieżącą stronę, którą wyświetla użytkownik, użyj metod getSelection() i getCurrentPage() w ten sposób:
Pamiętaj, że bieżąca strona może być dowolnego z tych typów:
Na bieżącej stronie może być wybranych co najmniej 1 obiekt, a typ wyboru określa parametr SelectionType.
Odczytywanie wybranego tekstu na podstawie typu wyboru
Z przykładu poniżej dowiesz się, jak używać typu wyboru do odczytywania bieżącego wyboru w sposób odpowiedni dla danego typu.
Odczytywanie zaznaczonego tekstu
Zaznaczony tekst możesz odczytać za pomocą metody Selection.getTextRange(). Istnieją 2 rodzaje zaznaczania tekstu:
- Wybór zakresu: jeśli kształt zawiera tekst „Hello”, a wybrany jest fragment „He”, zwrócony zakres ma startIndex=0 i endIndex=2.
- Wybór kursorem: jeśli kształt zawiera tekst „Hello”, a kursor znajduje się po literze „H” („H|ello”), zwrócony zakres jest pusty, a startIndex=1 i endIndex=1.
Zmienianie zaznaczenia
Skrypt może modyfikować wybór użytkownika. Wszelkie zmiany wyboru, które skrypt wprowadza w prezentacji, są odzwierciedlane w kolejnych operacjach wyboru przez cały czas działania skryptu.
Zmiany wyboru są widoczne w przeglądarce użytkownika dopiero po zakończeniu wykonywania skryptu lub po wywołaniu funkcji Presentation.saveAndClose()
.
Wybieranie bieżącej strony
Stronę w aktywnej prezentacji można wybrać jako bieżącą, wywołując metodę selectAsCurrentPage(). Ta metoda usuwa poprzedni element strony, stronę lub zaznaczenie tekstu. Użycie tej metody na bieżącej stronie pozwala odznaczyć wszystkie zaznaczone na niej elementy. Na przykład:
Wybieranie elementu strony
Aby wybrać element strony, użyj metody PageElement.select(). Spowoduje to również odznaczenie wszystkich wcześniej wybranych elementów strony.
Na przykład:
Wybieranie wielu elementów strony
Aby dołączyć do wyboru dodatkowe elementy strony, użyj metody PageElement.select(false). Wszystkie elementy strony muszą znajdować się na bieżącej stronie.
Przekształcanie zaznaczenia
Zmiany wprowadzane przez skrypt mogą przekształcać bieżące zaznaczenie, tak aby w wyniku edycji zmieniało się to, co jest zaznaczone. Na przykład:
- Załóżmy, że masz zaznaczone 2 kształty: A i B.
- Następnie skrypt usuwa kształt A.
- W rezultacie zaznaczenie zostanie przekształcone w odniesieniu do zmiany, tak aby zaznaczony był tylko kształt B.
Poniższy przykład pokazuje, jak można przekształcić zaznaczenie, manipulując wybranymi elementami strony.
Zaznaczanie tekstu
Tekst zawarty w kształcie lub komórce tabeli można zaznaczyć za pomocą metody TextRange.select(). Jeśli tekst znajduje się w kształcie, zostanie on również zaznaczony. Jeśli tekst znajduje się w komórce tabeli, zaznaczona zostanie zarówno ta komórka, jak i tabela, w której się znajduje.
Spowoduje to również ustawienie strony nadrzędnej jako bieżącej.
Wybór zakresu w kształcie
Przykład poniżej pokazuje, jak wybrać zakres w tekście znajdującym się w kształcie.
Zaznaczanie kursorem w kształcie
Poniższy przykład pokazuje, jak wybrać kursor w tekście znajdującym się w kształcie.
Wybór zakresu w komórce tabeli
Przykład poniżej pokazuje, jak wybrać zakres w tekście znajdującym się w komórce tabeli.
Zaznaczanie kursorem w komórce tabeli
Poniższy przykład pokazuje, jak wybrać kursorem tekst w komórce tabeli.
Przekształcanie zaznaczenia za pomocą edycji tekstowej
Poniższy przykład pokazuje, jak można przekształcić zaznaczenie, edytując zaznaczony tekst.
Odznaczanie
Nie ma wyraźnych metod odznaczania tekstu ani elementów strony. Możesz jednak to osiągnąć, korzystając z metod Page.selectAsCurrentPage()
lub pageElement.select()
.
Wybierz bieżącą stronę
Ten przykład pokazuje, jak odznaczyć wszystkie bieżące zaznaczenia na stronie, ustawiając ją jako bieżącą stronę.
Wybieranie elementu strony
Poniższy przykład pokazuje, jak usunąć zaznaczenie wszystkich elementów na stronie, wybierając jeden element strony, a tym samym usuwając wszystkie inne elementy z zaznaczenia.