Zaznaczenie to wszystko, co jest obecnie zaznaczone na otwartej stronie prezentacji, na przykład zakres wyróżnionego tekstu lub tabela. Z tego przewodnika dowiesz się, jak uzyskać i ustawić zaznaczenie w aktywnej prezentacji za pomocą Apps Script.
Zaznaczone elementy to stan obiektu w momencie uruchomienia skryptu. Jeśli użytkownik kliknie element i wybór zmieni się podczas wykonywania skryptu, te zmiany nie zostaną uwzględnione.
Wybrane elementy i ich typ
Zaznaczone elementy możesz odczytać za pomocą klasy Selection. Klasa ma różne metody uzyskiwania 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 TEXT. W takim przypadku możesz pobrać wybrany zakres tekstu za pomocą metody selection.getTextRange()
.
Możesz też pobrać obiekt zawierający zaznaczony fragment. W przypadku przykładu powyżej możesz pobrać kształt zawierający wybrany 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 selection.getCurrentPage()
.
Czytanie zaznaczonego tekstu
Aby odczytać zaznaczenie, użyj metody Presentation.getSelection(), jak w tym przykładzie:
Odczytywanie bieżącej strony
Aby pobrać bieżącą stronę wyświetlaną przez użytkownika, użyj metod getSelection() i getCurrentPage() w następujący sposób:
Pamiętaj, że bieżąca strona może być dowolnego z tych typów:
Na bieżącej stronie może być zaznaczony co najmniej 1 obiekt, a typ zaznaczenia określa parametr SelectionType.
Czytanie zaznaczenia na podstawie typu zaznaczenia
Z przykładu poniżej dowiesz się, jak za pomocą typu zaznaczenia odczytać bieżące zaznaczenie w odpowiednim typie.
Czytanie zaznaczonego tekstu
Zaznaczenie tekstu możesz odczytać za pomocą metody Selection.getTextRange(). Istnieją 2 rodzaje zaznaczania tekstu:
- Zakres wyboru: jeśli kształt zawiera tekst „Cześć”, a wybrany jest „Cz”, zwracany zakres ma startIndex=0 i endIndex=2.
- Zaznaczenie kursora: jeśli kształt zawiera tekst „Cześć”, a kursor znajduje się po „C” („Cześć|ello”), zwracany zakres jest pusty, a startIndex=1 i endIndex=1.
Modyfikowanie zaznaczenia
Skrypt może zmodyfikować wybór użytkownika. Wszelkie zmiany w wybranych elementach wprowadzane przez skrypt w prezentacji są odzwierciedlane w kolejnych operacjach wyboru przez cały czas wykonywania skryptu.
Zmiany w wybranych elementach są odzwierciedlane w przeglądarce użytkownika dopiero po zakończeniu wykonywania skryptu lub wywołania 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 wszystkie wcześniejsze elementy strony, strony lub zaznaczony tekst. Zastosowanie tej metody na bieżącej stronie powoduje odznaczenie wszystkich bieżących zaznaczeń na stronie. Na przykład:
Wybieranie elementu strony
Aby wybrać element strony, użyj metody PageElement.select(). Spowoduje to również odznaczenie wszystkich wcześniej zaznaczonych elementów strony.
Na przykład:
Zaznaczanie wielu elementów strony
Aby dodać do zaznaczenia dodatkowe elementy strony, użyj metody PageElement.select(false). Wszystkie elementy strony muszą znajdować się na bieżącej stronie.
Przekształcanie zaznaczenia
Zmiany wprowadzone przez skrypt mogą przekształcać bieżący wybór, tak aby w wyniku tej zmiany zmienił się wybrany element. Na przykład:
- Załóżmy, że masz zaznaczone 2 ksztalty: A i B.
- Następnie skrypt usuwa kształt A.
- W efekcie obszar zaznaczony na czerwono jest przekształcony w sposób, który pozwala zaznaczyć tylko kształt B.
Ten 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, ten kształt jest też zaznaczony. Jeśli tekst znajduje się w komórce tabeli, zaznaczona jest zarówno komórka, jak i tabela, w której się znajduje.
Spowoduje to też ustawienie strony nadrzędnej jako bieżącej.
Wybór zakresu w kształcie
Ten przykład pokazuje, jak zaznaczyć zakres w tekście zawartym w kształcie.
Zaznaczenie kursorem kształtu
Z tego przykładu dowiesz się, jak zaznaczyć kursorem tekst zawarty w kształcie.
Zaznaczenie zakresu w komórce tabeli
Z przykładu poniżej dowiesz się, jak wybrać zakres tekstu w komórce tabeli.
Zaznaczenie kursora w komórce tabeli
Z tego przykładu dowiesz się, jak zaznaczyć kursorem tekst w komórce tabeli.
Przekształcenie zaznaczenia z edycjami tekstowymi
W tym przykładzie pokazujemy, jak można przekształcić zaznaczony tekst, edytując go.
Odznaczanie
Nie ma żadnych metod odznaczania tekstu ani elementów strony. Można jednak uzyskać ten sam wynik, stosując metody Page.selectAsCurrentPage()
lub pageElement.select()
.
Wybieranie bieżącej strony
Ten przykład pokazuje, jak odznaczyć wszystkie zaznaczone elementy na stronie, ustawiając tę stronę jako bieżącą.
Wybieranie elementu strony
Z tego przykładu dowiesz się, jak anulować zaznaczenie bieżących elementów na stronie, wybierając jeden element strony, co spowoduje usunięcie wszystkich pozostałych elementów z zaznaczenia.