La sélection correspond à ce qui est actuellement sélectionné dans une page de présentation ouverte, comme un segment de texte en surbrillance ou un tableau. Ce guide vous explique comment obtenir et définir la sélection dans une présentation active à l'aide d'Apps Script.
La sélection est un instantané de ce qu'elle était au moment du démarrage du script. Si l'utilisateur clique et que la sélection change pendant l'exécution du script, ces modifications ne seront pas répercutées.
Sélections et type de sélection
Vous pouvez lire la sélection à l'aide de la classe Selection. La classe comporte différentes méthodes pour obtenir les objets sélectionnés en fonction du type d'objet sélectionné.
L'énumération SelectionType représente le type spécifique d'objets sélectionnés. Par exemple, si l'utilisateur a sélectionné du texte dans une forme, le type de sélection sera TEXT. Dans ce cas, vous pouvez récupérer la plage de texte sélectionnée à l'aide de la méthode selection.getTextRange()
.
Vous pouvez également récupérer l'objet contenant la sélection. Pour poursuivre avec l'exemple ci-dessus, vous pouvez récupérer la forme contenant le texte sélectionné à l'aide de selection.getPageElementRange().getPageElements()[0]
. De même, la page qui contient la forme englobante est la page active actuelle. Pour la récupérer, utilisez selection.getCurrentPage()
.
Lire la sélection
Pour lire la sélection, utilisez la méthode Overview.getSelection() comme indiqué dans l'exemple suivant:
Lire la page active
Pour récupérer la page actuelle que l'utilisateur consulte, utilisez les méthodes getSelection() et getCurrentPage() comme suit:
Notez que le type de page actuelle peut être l'un des suivants:
Un ou plusieurs objets peuvent être sélectionnés sur la page actuelle, et le SelectionType détermine le type de sélection.
Lire la sélection en fonction du type de sélection
L'exemple suivant montre comment utiliser le type de sélection pour lire la sélection actuelle de manière appropriée.
Lire des sélections de texte
Vous pouvez lire la sélection de texte à l'aide de la méthode Selection.getTextRange(). Il existe deux types de sélection de texte:
- Sélection de plage: si une forme contient le texte "Hello" et que "He" est sélectionné, la plage renvoyée contient startIndex=0 et endIndex=2.
- Sélection du curseur: si une forme contient le texte "Hello" et que le curseur se trouve après "H" ("H|ello"), la plage renvoyée est une plage vide avec startIndex=1 et endIndex=1.
Modifier la sélection
Le script peut modifier la sélection de l'utilisateur. Toute modification de sélection apportée par le script à la présentation est répercutée dans les opérations de sélection ultérieures pendant la durée d'exécution du script.
Les modifications de la sélection ne sont répercutées dans le navigateur de l'utilisateur qu'une fois l'exécution du script terminée ou lorsque Presentation.saveAndClose()
est appelé.
Sélectionner la page actuelle
Vous pouvez sélectionner une page de la présentation active en tant que page actuelle en appelant la méthode selectAsCurrentPage(). Cette méthode supprime toute sélection d'éléments de page, de page ou de texte précédents. Ainsi, cette méthode sur la page actuelle vous permet de désélectionner toutes les sélections actuelles sur la page. Exemple :
Sélectionner un élément de page
Pour sélectionner un élément de page, utilisez la méthode PageElement.select(). Les éléments de page déjà sélectionnés sont alors désélectionnés.
Exemple :
Sélectionner plusieurs éléments de page
Pour ajouter des éléments de page supplémentaires à la sélection, utilisez la méthode PageElement.select(false). Tous les éléments de la page doivent figurer sur la page active.
Transformer la sélection
Les modifications apportées par votre script peuvent transformer la sélection actuelle, de sorte que les éléments sélectionnés changent à la suite de ces modifications. Exemple :
- Supposons que vous ayez sélectionné deux formes A et B.
- Votre script supprime ensuite la forme A.
- En conséquence, la sélection est transformée par rapport à la modification afin que seule la forme B soit sélectionnée.
L'exemple suivant montre comment transformer la sélection en manipulant les éléments de page sélectionnés.
Sélectionner du texte
Le texte contenu dans une forme ou dans une cellule de tableau peut être sélectionné à l'aide de la méthode TextRange.select(). Si le texte est contenu dans une forme, cette dernière est également sélectionnée. Si le texte est contenu dans une cellule de tableau, cette cellule et son tableau englobant sont tous deux sélectionnés.
Cette opération définit également la page parente comme page actuelle.
Sélection d'une plage dans une forme
L'exemple suivant montre comment sélectionner une plage dans un texte contenu dans une forme.
Sélection du curseur dans une forme
L'exemple suivant montre comment effectuer une sélection de curseur dans un texte contenu dans une forme.
Sélection d'une plage dans une cellule de tableau
L'exemple suivant montre comment sélectionner une plage dans un texte contenu dans une cellule de table.
Sélection du curseur dans TableCell
L'exemple suivant montre comment effectuer une sélection de curseur dans un texte contenu dans une cellule de tableau.
Transformation de la sélection avec modifications de texte
L'exemple suivant montre comment transformer la sélection en modifiant le texte sélectionné.
Désélection...
Il n'existe aucune méthode explicite pour désélectionner du texte ou des éléments de page. Toutefois, ce résultat peut être obtenu à l'aide des méthodes Page.selectAsCurrentPage()
ou pageElement.select()
.
Sélectionner une page active
L'exemple suivant montre comment désélectionner toutes les sélections actuelles sur une page en définissant cette page comme page actuelle.
Sélectionner un élément de page
L'exemple suivant montre comment désélectionner toutes les sélections actuelles sur une page en sélectionnant un élément de la page, ce qui supprimera tous les autres éléments de la sélection.