La sélection correspond au contenu qui est mis en évidence sur une page de présentation ouverte, comme une étendue de texte en surbrillance ou un tableau. Ce guide explique comment obtenir et définir la sélection dans une présentation active à l'aide d'Apps Script.
Un script ne peut accéder qu'à la sélection de l'utilisateur qui l'exécute.
La sélection est un instantané de ce qu'elle était au 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 prises en compte.
Sélections et type de sélection
Lisez la sélection à l'aide de la classe Selection. Cette classe comporte différentes méthodes permettant d'obtenir les objets sélectionnés en fonction du type d'objet(s) sélectionné(s).
L'enum 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 est 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. Par exemple, vous pouvez récupérer la forme contenant le texte sélectionné à l'aide de selection.getPageElementRange().getPageElements()[0]. De même, la page contenant 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 Presentation.getSelection() , comme indiqué dans l'exemple suivant :
Lire la page actuelle
Pour récupérer la page actuelle que l' utilisateur consulte, utilisez les getSelection() et getCurrentPage() comme suit :
Notez que la page actuelle peut être l'un des types suivants :
La page actuelle peut comporter un ou plusieurs objets sélectionnés, 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 les sélections de texte
Lisez la sélection de texte à l'aide de la Selection.getTextRange(). Il existe deux types de sélection de texte :
- Sélection de plage : si une forme contient le texte "Bonjour" et que "Bo" est sélectionné, la plage renvoyée a startIndex=0 et endIndex=2.
- Sélection de curseur : si une forme contient le texte "Bonjour" et que le curseur se trouve après "B" ("B|onjour"), 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. Toutes les modifications de sélection apportées par le script à la présentation sont reflétées dans les opérations de sélection suivantes pendant l'exécution du script.
Les modifications de sélection ne sont reflété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
Une page de la présentation active peut être sélectionnée comme page actuelle en appelant la selectAsCurrentPage(). Cette méthode supprime tout élément de page, page ou sélection de texte précédent. Par conséquent, l'utilisation de 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 dans une page, utilisez la PageElement.select(). Cette opération désélectionne également tous les éléments de page précédemment sélectionnés.
Les méthodes select() et select(true) sont équivalentes.
Exemple :
Sélectionner plusieurs éléments de page
Pour ajouter des éléments de page supplémentaires à la sélection, utilisez la PageElement.select(false). Tous les éléments de page doivent se trouver sur la page actuelle.
Transformer la sélection
Les modifications apportées par votre script peuvent transformer la sélection actuelle, de sorte que ce qui est sélectionné change en raison de la modification. Exemple :
- Supposons que vous ayez sélectionné deux formes A et B.
- Ensuite, votre script supprime la forme A.
- Par conséquent, la sélection est transformée par rapport à la modification, de sorte que seule la forme B est sélectionnée.
L'exemple suivant montre comment la sélection peut être transformée en manipulant les éléments de page sélectionnés.
Sélectionner le texte
Le texte contenu dans une forme ou dans une cellule de tableau peut être sélectionné à l'aide de la TextRange.select(). Si le texte est contenu dans une forme, cette forme est également sélectionnée. Si le texte est contenu dans une cellule de tableau, cette cellule et le tableau qui l'entoure sont tous deux sélectionnés.
Cela définit également la page parente comme page actuelle.
Sélection de plage dans une forme
L'exemple suivant montre comment effectuer une sélection de plage dans du texte contenu dans une forme.
Sélection de curseur dans une forme
L'exemple suivant montre comment effectuer une sélection de curseur dans du texte contenu dans une forme.
Sélection de plage dans une cellule de tableau
L'exemple suivant montre comment effectuer une sélection de plage dans du texte contenu dans une cellule de tableau.
Sélection de curseur dans TableCell
L'exemple suivant montre comment effectuer une sélection de curseur dans du texte contenu dans une cellule de tableau.
Transformation de la sélection avec des modifications textuelles
L'exemple suivant montre comment la sélection peut être transformée en modifiant le texte sélectionné.
Désélectionner
Il n'existe pas de 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 actuelle
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 page, ce qui supprime tous les autres éléments de la sélection.