В чем разница между getActiveRange () и getSelection ()? - PullRequest
0 голосов
/ 03 июля 2018

Кажется, что они оба делают одно и то же, возвращая выбранный диапазон на активном "открытом" листе. Что мне здесь не хватает? Есть ли случаи, когда вам нужно использовать getSelection ()?

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();    
var selection = sheet.getSelection();

// These return the same values
Logger.log("Range Values: %s", range.getValues());
Logger.log("Selection Values: %s", selection.getActiveRange().getValues());

// These also return the same values
Logger.log("Sheet Current Cell: %s", sheet.getCurrentCell().getValue());
Logger.log("Selection Current Cell: %s", selection.getCurrentCell().getValue());

1 Ответ

0 голосов
/ 04 июля 2018

Согласно документации, разница есть.

getActiveRange() возвращает диапазон классов, но getSelection() возвращает выбор класса. Разница в том, что выбор может быть несмежными диапазонами.

Итак, если вам нужно получить выбранные несмежные диапазоны, вам нужно будет использовать getSelection() Диапазон может быть только " группой смежных ячеек на листе "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...