A seleção é o que está selecionado em uma página de apresentação aberta, como um trecho de texto destacado ou uma tabela. Neste guia, explicamos como receber e definir a seleção em uma apresentação ativa usando o Apps Script.
A seleção é um instantâneo do que era quando o script foi iniciado. Se o usuário clicar e a seleção mudar enquanto o script estiver em execução, essas mudanças não serão refletidas.
Seleções e tipo de seleção
É possível ler a seleção usando a classe Selection. A classe tem vários métodos para receber os objetos selecionados com base no tipo de objetos selecionados.
O tipo enumerado SelectionType
representa o tipo específico de objetos selecionados. Por exemplo, se o usuário tiver
selecionado algum texto em uma forma, o tipo de seleção será
TEXT. Nesse caso, é possível recuperar o intervalo de texto selecionado usando o
método selection.getTextRange()
.
Também é possível recuperar o objeto que contém a seleção. Continuando o
exemplo acima, você pode recuperar a forma que contém o texto selecionado usando
selection.getPageElementRange().getPageElements()[0]
. Da mesma forma, a página que
contém a forma de contenção é a página ativa atual. Para
recuperar essa página, use selection.getCurrentPage()
.
Como ler a seleção
Para ler a seleção, use o método Presentation.getSelection(), conforme mostrado no exemplo abaixo:
Leitura da página atual
Para recuperar a página atual que o usuário está visualizando, use os métodos getSelection() e getCurrentPage() da seguinte maneira:
A página atual pode ser de um dos seguintes tipos:
A página atual pode ter um ou mais objetos selecionados, e o SelectionType determina o tipo de seleção.
Leitura da seleção com base no tipo
O exemplo a seguir mostra como usar o tipo de seleção para ler a seleção atual de maneira adequada.
Como ler seleções de texto
É possível ler a seleção de texto usando o método Selection.getTextRange(). Há dois tipos de seleção de texto:
- Seleção de intervalo: se uma forma contiver o texto "Hello" e "He" estiver selecionado, o intervalo retornado terá startIndex=0 e endIndex=2.
- Seleção do cursor: se uma forma contiver o texto "Hello" e o cursor estiver após "H" ("H|ello"), o intervalo retornado será vazio com startIndex=1 e endIndex=1.
Modificar a seleção
O script pode modificar a seleção do usuário. Todas as mudanças de seleção feitas pelo script na apresentação são refletidas em operações de seleção subsequentes durante a execução do script.
As mudanças de seleção são refletidas no navegador do usuário somente após a conclusão da execução
do script ou quando Presentation.saveAndClose()
é chamado.
Como selecionar a página atual
Uma página na apresentação ativa pode ser selecionada como a página atual chamando o método selectAsCurrentPage(). Esse método remove qualquer elemento de página, página ou seleção de texto anterior. Portanto, usar esse método na página atual permite desmarcar todas as seleções atuais na página. Exemplo:
Como selecionar um elemento da página
Para selecionar um elemento em uma página, use o método PageElement.select(). Isso também desmarca todos os elementos de página selecionados anteriormente.
Exemplo:
Como selecionar vários elementos da página
Para anexar outros elementos da página à seleção, use o método PageElement.select(false). Todos os elementos da página precisam estar na página atual.
Transformar a seleção
As edições realizadas pelo script podem transformar a seleção atual, de modo que o que está selecionado mude como resultado da edição. Exemplo:
- Suponha que você tenha duas formas A e B selecionadas.
- Em seguida, o script remove a forma A.
- Como resultado, a seleção é transformada em relação à edição para que apenas a forma B seja selecionada.
O exemplo a seguir mostra como a seleção pode ser transformada manipulando elementos de página selecionados.
Como selecionar texto
O texto contido em uma forma ou em uma célula de tabela pode ser selecionado usando o método TextRange.select(). Se o texto estiver contido em uma forma, essa forma também será selecionada. Se o texto estiver contido em uma célula de tabela, essa célula e a tabela que a contém serão selecionadas.
Isso também define a página principal como a página atual.
Seleção de intervalo em uma forma
O exemplo a seguir mostra como fazer uma seleção de intervalo no texto contido em uma forma.
Seleção do cursor em uma forma
O exemplo a seguir mostra como fazer uma seleção de cursor no texto contido em uma forma.
Seleção de intervalo em uma célula de tabela
O exemplo a seguir mostra como fazer uma seleção de intervalo no texto contido em uma célula de tabela.
Seleção do cursor em TableCell
O exemplo a seguir mostra como fazer uma seleção de cursor no texto contido em uma célula de tabela.
Transformação de seleção com edições textuais
O exemplo a seguir mostra como a seleção pode ser transformada editando o texto selecionado.
Desmarcar
Não há métodos explícitos para desmarcar texto ou elementos da página. No entanto, esse
resultado pode ser alcançado usando os métodos Page.selectAsCurrentPage()
ou
pageElement.select()
.
Selecionar uma página atual
O exemplo a seguir mostra como desmarcar todas as seleções atuais em uma página definindo essa página como a atual.
Selecionar um elemento da página
O exemplo a seguir mostra como desmarcar todas as seleções atuais em uma página selecionando um elemento da página, removendo todos os outros itens da seleção.