Выбором является все, что в данный момент выбрано на открытой странице презентации, например фрагмент выделенного текста или таблица. В этом руководстве рассказывается, как получить и настроить выделение в активной презентации с помощью Apps Script.
Выбор представляет собой снимок того, что было при запуске сценария. Если пользователь щелкнет мышью и выбор изменится во время выполнения сценария, эти изменения не будут отражены.
Выборки и тип выборки
Вы можете прочитать выборку, используя класс Selection . Класс имеет различные методы для получения выбранных объектов в зависимости от типа выбранных объектов.
Перечисление SelectionType представляет конкретный тип выбранных объектов. Например, если пользователь выделил какой-либо текст в фигуре, типом выделения будет ТЕКСТ . В этом случае вы можете получить выделенный диапазон текста, используя selection.getTextRange()
.
Вы также можете получить объект, содержащий выделение; продолжая приведенный выше пример, вы можете получить фигуру, содержащую выделенный текст, используя selection.getPageElementRange().getPageElements()[0]
. Аналогично, страница, содержащая включающую фигуру, является текущей активной страницей; чтобы получить эту страницу, используйте selection.getCurrentPage()
.
Читаем подборку
Чтобы прочитать выборку, используйте метод Presentation.getSelection() , как показано в следующем примере:
Чтение текущей страницы
Чтобы получить текущую страницу , которую просматривает пользователь, используйте методы getSelection() и getCurrentPage() следующим образом:
Обратите внимание, что текущая страница может быть любого из следующих типов:
На текущей странице может быть выбран один или несколько объектов, а SelectionType определяет тип выбора.
Чтение выборки на основе типа выборки
В следующем примере показано, как можно использовать тип выделения для чтения текущего выделения соответствующим типу образом.
Чтение выделенного текста
Вы можете прочитать выделенный текст с помощью метода Selection.getTextRange() . Существует два типа выделения текста:
- Выбор диапазона : если фигура содержит текст «Привет» и выбран «Он», возвращаемый диапазон имеет startIndex=0 и endIndex=2.
- Выбор курсора : если фигура содержит текст «Привет», а курсор находится после «H» («Привет | привет»), возвращаемый диапазон представляет собой пустой диапазон с startIndex=1 и endIndex=1.
Изменение выделения
Скрипт может изменить выбор пользователя. Любые изменения выбора, которые сценарий вносит в презентацию, отражаются в последующих операциях выбора на протяжении всего выполнения сценария.
Изменения выбора отражаются в браузере пользователя только после завершения выполнения сценария или при вызове Presentation.saveAndClose()
.
Выбор текущей страницы
Страницу в активной презентации можно выбрать в качестве текущей, вызвав метод selectAsCurrentPage() . Этот метод удаляет любой предыдущий элемент страницы, страницу или выделение текста. Таким образом, использование этого метода на текущей странице позволяет вам отменить выбор любого текущего выбора на странице. Например:
Выбор элемента страницы
Чтобы выбрать элемент страницы на странице, используйте метод PageElement.select() . Это также отменяет выбор любых ранее выбранных элементов страницы.
Например:
Выбор нескольких элементов страницы
Чтобы добавить к выделению дополнительные элементы страницы, используйте метод PageElement.select(false) . Все элементы страницы должны находиться на текущей странице.
Преобразование выделения
Изменения, выполняемые вашим сценарием, могут преобразовать текущий выбор, так что выбранное изменится в результате редактирования. Например:
- Предположим, у вас выбраны две фигуры A и B.
- Затем ваш скрипт удаляет фигуру A.
- В результате выделение преобразуется в соответствии с редактированием, так что выделяется только форма B.
В следующем примере показано, как можно преобразовать выделение путем манипулирования выбранными элементами страницы.
Выбор текста
Текст, содержащийся в фигуре или в ячейке таблицы, можно выбрать с помощью метода TextRange.select() . Если текст содержится в фигуре, эта фигура также выбирается. Если текст содержится в ячейке таблицы, то выбираются как эта ячейка таблицы, так и включающая ее таблица.
Это также устанавливает родительскую страницу в качестве текущей страницы.
Выбор диапазона в фигуре
В следующем примере показано, как выделить диапазон внутри текста, содержащегося в фигуре.
Выбор курсора в фигуре
В следующем примере показано, как выделить курсором текст, содержащийся в фигуре.
Выбор диапазона в ячейке таблицы
В следующем примере показано, как сделать выбор диапазона в тексте, содержащемся в ячейке таблицы.
Выбор курсора в TableCell
В следующем примере показано, как выделить курсором текст, содержащийся в ячейке таблицы.
Преобразование выделения с текстовым редактированием
В следующем примере показано, как можно преобразовать выделение путем редактирования выделенного текста.
Отмена выбора
Не существует явных методов для отмены выделения текста или элементов страницы. Однако этого результата можно добиться с помощью методов Page.selectAsCurrentPage()
или pageElement.select()
.
Выберите текущую страницу
В следующем примере показано, как отменить выбор любых текущих элементов на странице, установив эту страницу в качестве текущей.
Выберите элемент страницы
В следующем примере показано, как отменить выбор любых текущих элементов на странице, выбрав один элемент страницы и удалив тем самым все остальные элементы из выбора.