A seleção é o conteúdo que está em foco em uma página de apresentação aberta, como um trecho de texto destacado ou uma tabela. Neste guia, descrevemos como receber e definir a seleção em uma apresentação ativa usando o Apps Script.
Um script só pode acessar a seleção do usuário que o está executando.
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
Leia a seleção usando a classe Selection. A classe tem vários métodos para receber os objetos selecionados com base no tipo de objeto(s) selecionado(s).
O enum SelectionType representa o tipo específico de objetos selecionados. Por exemplo, se o usuário tiver
selecionado um 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().
Você também pode recuperar o objeto que contém a seleção. Por exemplo, é possível 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 delimitadora é a página ativa atual. Para recuperar essa página, use selection.getCurrentPage().
Ler a seleção
Para ler a seleção, use o método Presentation.getSelection() conforme mostrado no exemplo a seguir:
Ler a 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.
Leia a seleção com base no tipo de seleção
O exemplo a seguir mostra como usar o tipo de seleção para ler a seleção atual de maneira adequada ao tipo.
Ler seleções de texto
Leia 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" for 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 depois de "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 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 na seleção são refletidas no navegador do usuário somente depois que a execução do script é concluída ou quando Presentation.saveAndClose() é chamado.
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. Usar esse método na página atual permite cancelar a seleção de qualquer item na página. Exemplo:
Selecionar um elemento de página
Para selecionar um elemento de página em uma página, use o método PageElement.select(). Isso também desmarca os elementos da página selecionados anteriormente.
Os métodos select() e select(true) são equivalentes.
Exemplo:
Selecionar vários elementos da página
Para anexar 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.
Transformar a seleção
As edições feitas pelo script podem transformar a seleção atual, de modo que o que está selecionado muda 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 da página selecionada.
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 em uma forma, ela também será selecionada. Se o texto estiver em uma célula de tabela, essa célula e a tabela em que ela está 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 de cursor em uma forma
O exemplo a seguir mostra como fazer uma seleção de cursor em um 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 de cursor em TableCell
O exemplo a seguir mostra como fazer uma seleção de cursor em um texto contido em uma célula de tabela.
Transformação de seleção com edições de texto
O exemplo a seguir mostra como a seleção pode ser transformada ao editar 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 cancelar a seleção de qualquer item em uma página definindo essa página como a atual.
Selecionar um elemento de página
O exemplo a seguir mostra como desmarcar todas as seleções atuais em uma página ao selecionar um elemento de página, removendo todos os outros itens da seleção.