La selezione è ciò che è attualmente selezionato in una pagina di presentazione aperta, ad esempio un intervallo di testo evidenziato o una tabella. Questa guida spiega come ottenere e impostare la selezione in un file di presentazione attivo utilizzando Apps Script.
La selezione è un'istantanea di ciò che era all'avvio dello script. Se l'utente fa clic e la selezione cambia durante l'esecuzione dello script, queste modifiche non verranno riflesse.
Selezioni e tipo di selezione
Puoi leggere la selezione utilizzando la classe Selection. La classe ha vari metodi per ottenere gli oggetti selezionati in base al tipo di oggetto o oggetti selezionati.
L'enumerazione 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. Continuando con l'esempio precedente, potresti recuperare la forma contenente il testo selezionato utilizzando selection.getPageElementRange().getPageElements()[0]
. Allo stesso modo, la pagina che
contiene la forma di chiusura è la pagina attiva corrente; per
recuperare quella pagina, utilizza selection.getCurrentPage()
.
Leggere la selezione
Per leggere la selezione, utilizza il metodo Presentation.getSelection() come mostrato nell'esempio seguente:
Lettura della pagina corrente
Per recuperare la pagina attuale 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.
Leggere la 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 per il tipo.
Leggere le selezioni di testo
Puoi leggere la selezione del testo utilizzando il metodo Selection.getTextRange(). Esistono due tipi di selezione del testo:
- Selezione intervallo: se una forma contiene il testo "Hello" e viene selezionato "He", l'intervallo restituito ha startIndex=0 ed endIndex=2.
- Selezione del cursore: se una forma contiene il testo "Hello" e il cursore si trova dopo "H" ("H|ello"), l'intervallo restituito è un intervallo vuoto con startIndex=1 e endIndex=1.
Modifica della selezione
Lo script può modificare la selezione dell'utente. Tutte le modifiche alla selezione apportate dallo script alla presentazione vengono riflesse nelle operazioni di selezione successive per tutta la durata dell'esecuzione dello script.
Le modifiche alla selezione vengono visualizzate nel browser dell'utente solo dopo il completamento 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 selezioni correnti nella pagina. Ad esempio:
Selezionare un elemento della pagina
Per selezionare un elemento di una pagina, utilizza il metodo PageElement.select(). Vengono deselezionati anche gli elementi della pagina selezionati in precedenza.
Ad esempio:
Selezionare più elementi della pagina
Per aggiungere altri elementi della pagina alla selezione, utilizza il metodo PageElement.select(false). Tutti gli elementi della pagina devono trovarsi nella pagina corrente.
Trasformare la selezione
Le modifiche eseguite dallo script possono trasformare la selezione corrente, in modo che ciò che è selezionato cambi in seguito alla modifica. Ad esempio:
- Supponiamo di aver selezionato due forme A e B.
- Successivamente, lo script rimuove la forma A.
- Di conseguenza, la selezione viene trasformata rispetto alla modifica in modo che venga 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 una tabella può essere selezionato utilizzando il metodo TextRange.select(). Se il testo è contenuto in una forma, viene selezionata anche quest'ultima. Se il testo è contenuto in una cella di una tabella, vengono selezionate sia la cella sia la tabella che la contiene.
In questo modo, la pagina principale viene impostata come pagina corrente.
Selezione di un intervallo in una forma
Il seguente esempio mostra come selezionare un intervallo all'interno del testo contenuto in una forma.
Selezione del cursore in una forma
Il seguente esempio mostra come effettuare una selezione del cursore all'interno del testo contenuto in una forma.
Selezione dell'intervallo in una cella di una tabella
Il seguente esempio 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 della tabella.
Trasformazione della selezione con modifiche testuali
L'esempio seguente mostra come la selezione può essere trasformata modificando il testo selezionato.
Deselezione…
Non esistono metodi espliciti per deselezionare testo o elementi della pagina. Tuttavia, questo
risultato può essere ottenuto utilizzando i metodi Page.selectAsCurrentPage()
o
pageElement.select()
.
Selezionare una pagina corrente
L'esempio seguente mostra come deselezionare le selezioni correnti in una pagina impostando la pagina come pagina corrente.
Seleziona un elemento della pagina
L'esempio seguente mostra come deselezionare le selezioni correnti in una pagina selezionando un elemento della pagina, in modo da rimuovere tutti gli altri elementi dalla selezione.