Définir et obtenir la plage sélectionnée à l’aide de l’API JavaScript Excel
Cet article fournit des exemples de code qui définissent et obtiennent la plage sélectionnée avec l’API JavaScript Excel. Pour obtenir la liste complète des propriétés et méthodes prises en charge par l’objet Range
, voir Classe Excel.Range.
Remarque
L’API JavaScript Excel ne comprend pas d’objet ou de classe « Cellule ». L’API JavaScript Excel définit plutôt toutes les cellules Excel comme objetsRange
. Une cellule individuelle dans l’interface utilisateur d’Excel se traduit par un objetRange
avec une cellule dans l’API JavaScript Excel. Un objet Range
peut également contenir plusieurs cellules contiguës. Consultez Travailler avec des cellules de calcul à l’aide de l’API JavaScript Excel pour en savoir plus.
Définir la plage sélectionnée
L’exemple de code suivant sélectionne la plage B2:E6 dans la feuille de calcul active.
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getActiveWorksheet();
let range = sheet.getRange("B2:E6");
range.select();
await context.sync();
});
Plage sélectionnée B2:E6
Obtenir la plage sélectionnée
L’exemple de code suivant obtient la plage sélectionnée, charge sa address
propriété et écrit un message dans la console.
await Excel.run(async (context) => {
let range = context.workbook.getSelectedRange();
range.load("address");
await context.sync();
console.log(`The address of the selected range is "${range.address}"`);
});
Sélectionner le bord d’une plage utilisée
Les méthodes Range.getRangeEdge et Range.getExtendedRange permettent à votre complément de répliquer le comportement des raccourcis de sélection clavier, en sélectionnant le bord de la plage utilisée en fonction de la plage actuellement sélectionnée. Pour en savoir plus sur les plages utilisées, consultez Obtenir une plage utilisée.
Dans la capture d’écran suivante, la plage utilisée est la table avec des valeurs dans chaque cellule, C5 :F12. Les cellules vides situées à l’extérieur de ce tableau se trouvent en dehors de la plage utilisée.
Sélectionner la cellule au bord de la plage utilisée actuelle
L’exemple de code suivant montre comment utiliser la Range.getRangeEdge
méthode pour sélectionner la cellule au bord le plus éloigné de la plage utilisée actuelle, dans la direction vers le haut. Cette action correspond au résultat de l’utilisation du raccourci clavier de la touche Ctrl+Flèche haut pendant qu’une plage est sélectionnée.
await Excel.run(async (context) => {
// Get the selected range.
let range = context.workbook.getSelectedRange();
// Specify the direction with the `KeyboardDirection` enum.
let direction = Excel.KeyboardDirection.up;
// Get the active cell in the workbook.
let activeCell = context.workbook.getActiveCell();
// Get the top-most cell of the current used range.
// This method acts like the Ctrl+Up arrow key keyboard shortcut while a range is selected.
let rangeEdge = range.getRangeEdge(
direction,
activeCell
);
rangeEdge.select();
await context.sync();
});
Avant de sélectionner la cellule au bord de la plage utilisée
La capture d’écran suivante montre une plage utilisée et une plage sélectionnée dans la plage utilisée. La plage utilisée est une table avec des données en C5 :F12. Dans ce tableau, la plage D8 :E9 est sélectionnée. Cette sélection est l’état avant , avant l’exécution de la Range.getRangeEdge
méthode.
Après avoir sélectionné la cellule au bord de la plage utilisée
La capture d’écran suivante montre la même table que la capture d’écran précédente, avec des données dans la plage C5 :F12. Dans ce tableau, la plage D5 est sélectionnée. Cette sélection est après l’état, après avoir exécuté la Range.getRangeEdge
méthode pour sélectionner la cellule au bord de la plage utilisée dans le sens vers le haut.
Sélectionner toutes les cellules de la plage actuelle au bord le plus éloigné de la plage utilisée
L’exemple de code suivant montre comment utiliser la Range.getExtendedRange
méthode pour sélectionner toutes les cellules de la plage actuellement sélectionnée jusqu’au bord le plus éloigné de la plage utilisée, dans la direction vers le bas. Cette action correspond au résultat de l’utilisation du raccourci clavier Ctrl+Maj+Flèche bas pendant qu’une plage est sélectionnée.
await Excel.run(async (context) => {
// Get the selected range.
let range = context.workbook.getSelectedRange();
// Specify the direction with the `KeyboardDirection` enum.
let direction = Excel.KeyboardDirection.down;
// Get the active cell in the workbook.
let activeCell = context.workbook.getActiveCell();
// Get all the cells from the currently selected range to the bottom-most edge of the used range.
// This method acts like the Ctrl+Shift+Down arrow key keyboard shortcut while a range is selected.
let extendedRange = range.getExtendedRange(
direction,
activeCell
);
extendedRange.select();
await context.sync();
});
Avant de sélectionner toutes les cellules de la plage actuelle au bord de la plage utilisée
La capture d’écran suivante montre une plage utilisée et une plage sélectionnée dans la plage utilisée. La plage utilisée est une table avec des données en C5 :F12. Dans ce tableau, la plage D8 :E9 est sélectionnée. Cette sélection est l’état avant , avant l’exécution de la Range.getExtendedRange
méthode.
Après avoir sélectionné toutes les cellules de la plage actuelle au bord de la plage utilisée
La capture d’écran suivante montre la même table que la capture d’écran précédente, avec des données dans la plage C5 :F12. Dans ce tableau, la plage D8 :E12 est sélectionnée. Cette sélection se fait après l’état, après l’exécution de la Range.getExtendedRange
méthode pour sélectionner toutes les cellules de la plage actuelle au bord de la plage utilisée dans le sens vers le bas.