Zaznaczenie to element zaznaczony obecnie na otwartej stronie prezentacji, np. rozpiętość zaznaczonego tekstu lub tabela. Z tego przewodnika dowiesz się, jak za pomocą Apps Script wybierać i ustawiać zaznaczenie w aktywnej prezentacji.
Wybór jest podsumowaniem tego, co było na początku 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 korzysta z różnych metod 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, typem wyboru będzie TEXT. W tym przypadku możesz pobrać wybrany zakres tekstu przy użyciu metody selection.getTextRange()
.
Możesz też pobrać obiekt zawierający zaznaczenie. Wracając do przykładu powyżej, możesz pobrać kształt zawierający zaznaczony tekst za pomocą polecenia 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 pokazano 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 ten 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 do typu sposób.
Odczytywanie zaznaczonego tekstu
Zaznaczony tekst możesz odczytać za pomocą metody Selection.getTextRange(). Są 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.
- Wybór kursora: jeśli kształt zawiera tekst „Hello”, a kursor znajduje się po „H” („H|ello”), zwrócony zakres jest pusty z wartością startIndex=1 i endIndex=1.
Zmiana zaznaczenia
Skrypt może modyfikować 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 wyboru są odzwierciedlane 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 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 związku z tym zaznaczenie jest przekształcane względem edycji, przez co wybrany jest 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 w komórce tabeli można zaznaczyć przy użyciu 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.
Zaznaczenie zakresu w kształcie
Ten przykład pokazuje, jak zaznaczyć zakres w tekście zawartym w kształcie.
Zaznaczenie kształtu za pomocą kursora
Z tego przykładu dowiesz się, jak zaznaczyć kursorem tekst zawarty w kształcie.
Zaznaczenie zakresu w komórce tabeli
Z tego przykładu 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łcanie zaznaczenia ze zmianami tekstu
W tym przykładzie pokazujemy, jak można przekształcić zaznaczony tekst, edytując go.
Odznaczam
Nie ma żadnych metod odznaczania tekstu ani elementów strony. Można jednak osiągnąć ten sam wynik, stosując metody Page.selectAsCurrentPage()
lub pageElement.select()
.
Wybierz bieżącą stronę
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.