La selección es lo que está seleccionado en un momento determinado en una página de presentación abierta, como un intervalo de texto destacado o una tabla. En esta guía, se explica cómo obtener y establecer la selección en una presentación activa mediante Apps Script.
La selección es una instantánea de lo que era cuando comenzó la secuencia de comandos. Si el usuario hace clic y la selección cambia mientras se ejecuta la secuencia de comandos, esos cambios no se reflejarán.
Selecciones y tipo de selección
Puedes leer la selección con la clase Selection. Tiene varios métodos para obtener los objetos seleccionados según el tipo de objetos seleccionados.
La enumeración SelectionType representa el tipo específico de objetos seleccionados. Por ejemplo, si el usuario seleccionó texto en una forma, el tipo de selección será TEXTO. En este caso, puedes recuperar el rango de texto seleccionado con el método selection.getTextRange()
.
También puedes recuperar el objeto que contiene la selección. Si sigues con el ejemplo anterior, puedes recuperar la forma que contiene el texto seleccionado mediante selection.getPageElementRange().getPageElements()[0]
. De manera similar, la página que contiene la forma adjunta es la página activa actual. Para recuperar esa página, usa selection.getCurrentPage()
.
Cómo leer la selección
Para leer la selección, usa el método Presentation.getSelection() como se muestra en el siguiente ejemplo:
Cómo leer la página actual
Para recuperar la Page actual que está viendo el usuario, usa los métodos getSelection() y getCurrentPage() de la siguiente manera:
Ten en cuenta que la página actual puede ser de alguno de los siguientes tipos:
La página actual puede tener uno o más objetos seleccionados, y SelectionType determina el tipo de selección.
Cómo leer la selección según el tipo de selección
En el siguiente ejemplo, se muestra cómo puedes usar el tipo de selección para leer la selección actual de una manera adecuada.
Cómo leer selecciones de texto
Puedes leer la selección de texto con el método Selection.getTextRange(). Hay dos tipos de selección de texto:
- Selección de rango: Si una forma contiene el texto "Hello" y está seleccionado "He", el rango que se muestra tiene startIndex=0 y endIndex=2.
- Selección del cursor: Si una forma contiene el texto "Hola" y el cursor está después de "H" ("H|ello"), el rango que se muestra estará vacío con startIndex=1 y endIndex=1.
Cómo modificar la selección
La secuencia de comandos puede modificar la selección del usuario. Cualquier cambio de selección que la secuencia de comandos realice a la presentación se reflejará en operaciones de selección posteriores mientras dure la ejecución de la secuencia de comandos.
Los cambios de selección se reflejan en el navegador del usuario solo después de que se completa la ejecución de la secuencia de comandos o cuando se llama a Presentation.saveAndClose()
.
Selecciona la página actual
Para seleccionar una página en la presentación activa como la página actual, llama al método selectAsCurrentPage(). Este método quita cualquier elemento de la página, página o selección de texto anterior. Por lo tanto, usar este método en la página actual te permite anular la selección de cualquier selección actual en la página. Por ejemplo:
Cómo seleccionar un elemento de página
Para seleccionar un elemento de página en una página, usa el método PageElement.select(). Con esta acción, también se anula la selección de los elementos de página seleccionados anteriormente.
Por ejemplo:
Seleccionar varios elementos de página
Para agregar elementos de página adicionales a la selección, usa el método PageElement.select(false). Todos los elementos de la página deben estar en la página actual.
Cómo transformar la selección
Las ediciones que realiza la secuencia de comandos pueden transformar la selección actual, de modo que lo que se selecciona cambie como resultado de la edición. Por ejemplo:
- Supongamos que tienes dos formas A y B seleccionadas.
- Luego, tu guion quita la forma A.
- Como resultado, la selección se transforma en función de la edición, de modo que solo se seleccione la forma B.
En el siguiente ejemplo, se muestra cómo se puede transformar la selección mediante la manipulación de los elementos de página seleccionados.
Cómo seleccionar texto
El texto contenido en una forma o en una celda de una tabla se puede seleccionar con el método TextRange.select(). Si el texto está contenido en una forma, también se seleccionará esa forma. Si el texto está contenido en una celda de tabla, se seleccionarán esa celda y la tabla que la contiene.
Esto también definirá la página principal como la página actual.
Selección de rango en una forma
En el siguiente ejemplo, se muestra cómo seleccionar un rango dentro del texto contenido en una forma.
Selección del cursor en una forma
En el siguiente ejemplo, se muestra cómo realizar una selección del cursor dentro del texto contenido en una forma.
Selección de rango en una celda de la tabla
En el siguiente ejemplo, se muestra cómo realizar una selección de rango dentro del texto contenido en una celda de la tabla.
Selección del cursor en TableCell
En el siguiente ejemplo, se muestra cómo realizar una selección de cursor dentro del texto contenido en una celda de una tabla.
Transformación de la selección con ediciones textuales
En el siguiente ejemplo, se muestra cómo se puede transformar la selección si editas el texto seleccionado.
Anulando la selección
No hay métodos explícitos para anular la selección de elementos de página o texto. Sin embargo, este resultado se puede lograr usando los métodos Page.selectAsCurrentPage()
o pageElement.select()
.
Seleccionar una página actual
En el siguiente ejemplo, se muestra cómo anular la selección de cualquier selección actual en una página mediante la configuración de esa página como la actual.
Selecciona un elemento de la página
En el siguiente ejemplo, se muestra cómo anular la selección de cualquier selección actual en una página mediante la selección de un elemento de la página y, de esta manera, quitar todos los demás elementos de la selección.