La selezione è l'elemento attualmente selezionato in una pagina della presentazione aperta, come un tratto di testo evidenziato o una tabella. Questa guida spiega come recuperare e impostare la selezione in una presentazione attiva utilizzando Apps Script.
La selezione è un'istantanea di ciò che era all'avvio dello script. Se l'utente fa clic e la selezione cambia mentre lo script è in esecuzione, queste modifiche non verranno applicate.
Selezioni e tipo di selezione
Puoi leggere la selezione utilizzando la classe Selection. La classe dispone di vari metodi per ottenere gli oggetti selezionati in base al tipo di oggetti selezionati.
L'enum SelectionType rappresenta il tipo specifico di oggetti selezionati. Ad esempio, se l'utente ha selezionato del testo in una forma, il tipo di selezione sarà TEXT. In questo caso, puoi recuperare l'intervallo di testo selezionato utilizzando il metodo
selection.getTextRange()
.
Puoi anche recuperare l'oggetto che contiene la selezione. Proseguendo con l'esempio precedente, puoi recuperare la forma contenente il testo selezionato utilizzando selection.getPageElementRange().getPageElements()[0]
. Analogamente, la pagina che contiene la forma di contenimento è la pagina attiva corrente. Per recuperarla, utilizza selection.getCurrentPage()
.
Lettura della selezione
Per leggere la selezione, utilizza il metodo Presentation.getSelection() come mostrato nell'esempio seguente:
Leggere la pagina corrente
Per recuperare la pagina corrente visualizzata dall'utente, utilizza i metodi getSelection() e getCurrentPage() come segue:
Tieni presente che la pagina corrente può essere di uno dei seguenti tipi:
La pagina corrente può avere uno o più oggetti selezionati e SelectionType determina il tipo di selezione.
Lettura della selezione in base al tipo di selezione
L'esempio seguente mostra come utilizzare il tipo di selezione per leggere la selezione corrente in modo appropriato al tipo.
Leggere le selezioni di testo
Puoi leggere la selezione di testo utilizzando il metodo Selection.getTextRange(). Sono disponibili due tipi di selezione del testo:
- Selezione dell'intervallo: se una forma contiene il testo "Un saluto da Google" e viene selezionato "Un", l'intervallo restituito ha startIndex=0 ed endIndex=2.
- Selezione del cursore: se una forma contiene il testo "Un saluto" e il cursore si trova dopo "Un" ("Un|saluto"), l'intervallo restituito è vuoto con startIndex=1 e endIndex=1.
Modifica della selezione
Lo script può modificare la selezione dell'utente. Eventuali modifiche alla presentazione apportate dallo script vengono applicate nelle operazioni di selezione successive per tutta la durata dell'esecuzione dello script.
Le modifiche alla selezione vengono applicate al browser dell'utente solo al termine dell'esecuzione dello script o quando viene chiamato Presentation.saveAndClose()
.
Selezionare la pagina corrente
Una pagina della presentazione attiva può essere selezionata come pagina corrente chiamando il metodo selectAsCurrentPage(). Questo metodo rimuove qualsiasi elemento di pagina, pagina o selezione di testo precedente. Pertanto, l'utilizzo di questo metodo nella pagina corrente ti consente di deselezionare le eventuali selezioni correnti nella pagina. Ad esempio:
Selezionare un elemento della pagina
Per selezionare un elemento di pagina in una pagina, utilizza il metodo PageElement.select(). Vengono deselezionati anche gli elementi di pagina selezionati in precedenza.
Ad esempio:
Selezionare più elementi di pagina
Per aggiungere altri elementi di pagina alla selezione, utilizza il metodo PageElement.select(false). Tutti gli elementi della pagina devono trovarsi nella pagina corrente.
Trasformazione della selezione
Le modifiche apportate dallo script possono trasformare la selezione corrente, in modo che gli elementi selezionati cambino in base alla modifica. Ad esempio:
- Supponi di avere selezionato due forme A e B.
- Successivamente, lo script rimuove la forma A.
- Di conseguenza, la selezione viene trasformata in base alla modifica in modo che sia selezionata solo la forma B.
L'esempio seguente mostra come la selezione può essere trasformata manipolando gli elementi della pagina selezionati.
Selezione del testo
Il testo contenuto in una forma o in una cella di tabella può essere selezionato con il metodo TextRange.select(). Se il testo è contenuto in una forma, viene selezionata anche la forma. Se il testo è contenuto in una cella di tabella, vengono selezionate sia la cella di tabella sia la tabella che la contiene.
Viene impostata anche la pagina principale come pagina corrente.
Selezione di un intervallo in una forma
L'esempio seguente mostra come effettuare una selezione di intervallo all'interno del testo contenuto in una forma.
Selezione del cursore in una forma
L'esempio seguente mostra come effettuare una selezione del cursore all'interno del testo contenuto in una forma.
Selezione di intervalli in una cella di tabella
L'esempio seguente mostra come effettuare una selezione di intervallo all'interno del testo contenuto in una cella di tabella.
Selezione del cursore in TableCell
L'esempio seguente mostra come effettuare una selezione del cursore all'interno del testo contenuto in una cella di tabella.
Trasformazione della selezione con modifiche testuali
L'esempio seguente mostra come la selezione può essere trasformata modificando il testo selezionato.
Deselezione in corso...
Non sono disponibili metodi espliciti per deselezionare il testo o gli elementi della pagina. Tuttavia, questo risultato può essere ottenuto utilizzando i metodi Page.selectAsCurrentPage()
o
pageElement.select()
.
Seleziona una pagina corrente
L'esempio seguente mostra come deselezionare le eventuali selezioni correnti in una pagina impostandola come pagina corrente.
Seleziona un elemento della pagina
L'esempio seguente mostra come deselezionare le eventuali selezioni correnti in una pagina selezionando un elemento della pagina, rimuovendo così tutti gli altri elementi dalla selezione.