A seleção é o que está selecionado em uma página de apresentação aberta, como um trecho de texto destacado ou uma tabela. Este guia ensina 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 inclusão é a página ativa atual. Para
extrair 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 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 contém o texto "Hello" e o cursor está após "H" ("H|ello"), o intervalo retornado é 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.
Selecionando 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, o uso desse método na página atual permite desmarcar qualquer seleção atual 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 adicionar outros elementos de página à seleção, use o método PageElement.select(false). Todos os elementos da página precisam estar na página atual.
Como transformar a seleção
As edições feitas 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 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 mãe 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 abaixo 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 as seleções atuais em uma página selecionando um elemento da página, removendo todos os outros itens da seleção.