Zaznaczenie to element wybrany aktualnie na otwartej stronie prezentacji, na przykład rozpiętość zaznaczonego tekstu lub tabela. W tym przewodniku pokazujemy, jak uzyskać i ustawić zaznaczenie w aktywnej prezentacji za pomocą Apps Script.
Wybrana opcja to migawka przedstawiająca stan w momencie uruchomienia skryptu. Jeśli użytkownik kliknie, a wybór zmieni się w trakcie działania skryptu, zmiany te nie zostaną odzwierciedlone.
Wybór i typ wyboru
Możesz odczytać zaznaczenie, korzystając z klasy Selection (Zaznaczenie). Klasa ma różne metody pobierania wybranych obiektów w zależności od ich typu.
Wyliczenie SelectionType reprezentuje określony typ wybranych obiektów. Jeśli na przykład użytkownik zaznaczył tekst w kształcie, typ wyboru to TEKST. W takim przypadku możesz pobrać zaznaczony zakres tekstu za pomocą metody selection.getTextRange()
.
Możesz też pobrać obiekt, który zawiera zaznaczenie. W przykładzie powyżej możesz pobrać kształt zawierający zaznaczony tekst za pomocą funkcji selection.getPageElementRange().getPageElements()[0]
. I podobnie, strona zawierająca kształt obramowania jest obecnie aktywna. Aby ją pobrać, użyj polecenia selection.getCurrentPage()
.
Odczytuję zaznaczenie
Aby odczytać wybór, 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:
Bieżąca strona może zawierać co najmniej 1 obiekt, a metoda SelectionType określa typ wyboru.
Odczytuję wybór na podstawie typu wyboru
Z przykładu poniżej pokazujemy, jak za pomocą typu wyboru odczytać bieżący wybór w odpowiedni sposób.
Odczytywanie selekcji tekstu
Zaznaczony tekst możesz odczytać za pomocą metody Selection.getTextRange(). Dostępne są 2 rodzaje zaznaczania tekstu:
- Wybór zakresu: jeśli kształt zawiera tekst „Hello” i wybrano „He”, zwrócony zakres ma wartość startIndex=0 i endIndex=2.
- Wybór kursora: jeśli kształt zawiera tekst „Hello”, a kursor znajduje się po literze „H” („H|ello”), zwracany zakres jest pusty, a parametry startIndex=1 i endIndex=1 są puste.
Zmieniam wybór
Skrypt może zmienić wybór użytkownika. Wszelkie zmiany dokonane przez skrypt w prezentacji są odzwierciedlane w kolejnych operacjach wyboru przez cały czas wykonywania skryptu.
Zmiany dotyczące wyboru są odzwierciedlane w przeglądarce użytkownika dopiero po zakończeniu wykonywania skryptu lub wywołaniu funkcji Presentation.saveAndClose()
.
Wybieram bieżącą stronę
Stronę z aktywnej prezentacji można wybrać jako bieżącą, wywołując metodę selectAsCurrentPage(). Ta metoda usuwa wcześniej zaznaczone elementy strony, strony i teksty. Ta metoda pozwala więc usunąć zaznaczenie wszystkich opcji na bieżącej stronie. Na przykład:
Wybieranie elementu strony
Aby wybrać element strony na stronie, użyj metody PageElement.select(). Spowoduje to też usunięcie zaznaczenia wcześniej wybranych elementów strony.
Na przykład:
Wybieranie wielu elementów strony
Aby dołączyć 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 wprowadzane przez skrypt mogą przekształcić bieżący wybór, tak aby wybrane zmiany w wyniku edycji się zmieniły. Na przykład:
- Załóżmy, że masz zaznaczone 2 kształty A i B.
- Następnie skrypt usuwa kształt A.
- W efekcie zaznaczenie zostanie przekształcone w odniesieniu do zmiany tak, że zostanie wybrany tylko kształt B.
Przykład poniżej pokazuje, jak można przekształcić wybór przez manipulowanie wybranymi elementami strony.
Zaznaczanie tekstu
Tekst w kształcie lub w komórce tabeli można zaznaczyć za pomocą metody TextRange.select(). Jeśli tekst jest wewnątrz kształtu, to on również jest zaznaczony. Jeśli tekst znajduje się w komórce tabeli, ta komórka tabeli i jej tabela otaczająca są zaznaczone.
Spowoduje to też ustawienie strony nadrzędnej jako strony bieżącej.
Wybór zakresu w kształcie
Poniższy przykład pokazuje, jak zaznaczyć zakres w tekście wewnątrz kształtu.
Zaznaczenie kursora w kształcie
Poniższy przykład pokazuje, jak zaznaczyć kursor w tekście wewnątrz kształtu.
Wybór zakresu w komórce tabeli
Poniższy przykład pokazuje, jak zaznaczyć zakres w tekście zawartym w komórce tabeli.
Wybór kursora w komórce tabeli
Z przykładu poniżej dowiesz się, jak zaznaczyć kursorem w tekście zawartym w komórce tabeli.
Przekształcenie zaznaczenia ze zmianami tekstu
Z przykładu poniżej dowiesz się, jak zmienić zaznaczony tekst, edytując go.
Odznaczę
Nie ma jednoznacznych metod odznaczania tekstu lub elementów strony. Ten wynik można jednak uzyskać za pomocą metod Page.selectAsCurrentPage()
lub pageElement.select()
.
Wybierz bieżącą stronę
Z przykładu poniżej dowiesz się, jak odznaczyć bieżące ustawienia na stronie, ustawiając tę stronę jako bieżącą.
Wybierz element strony
Z przykładu poniżej dowiesz się, jak odznaczyć bieżące ustawienia na stronie przez wybranie jednego elementu strony i usunięcie z niego wszystkich innych elementów.