Class Selection

Выбор

Получите доступ к текущему активному выделению на активном листе. Выделение — это набор ячеек, которые пользователь выделил на листе, и это могут быть несмежные диапазоны. Одна из ячеек в выделении — это текущая ячейка , в которой находится текущий фокус пользователя. Текущая ячейка выделяется более темной рамкой в ​​пользовательском интерфейсе Google Sheets.

const activeSheet = SpreadsheetApp.getActiveSheet();
const rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']);
rangeList.activate();

const selection = activeSheet.getSelection();
// Current Cell: D1
console.log(`Current Cell: ${selection.getCurrentCell().getA1Notation()}`);
// Active Range: D1:E4
console.log(`Active Range: ${selection.getActiveRange().getA1Notation()}`);
// Active Ranges: A1:B4, D1:E4
const ranges = selection.getActiveRangeList().getRanges();
for (let i = 0; i < ranges.length; i++) {
  console.log(`Active Ranges: ${ranges[i].getA1Notation()}`);
}
console.log(`Active Sheet: ${selection.getActiveSheet().getName()}`);

Методы

Метод Тип возвращаемого значения Краткое описание
get Active Range() Range |null Возвращает выбранный диапазон на активном листе или null , если активного диапазона нет.
get Active Range List() Range List |null Возвращает список активных диапазонов на активном листе или null , если активных диапазонов нет.
get Active Sheet() Sheet Возвращает активный лист в электронной таблице.
get Current Cell() Range |null Возвращает текущую (выделенную) ячейку, выбранную в одном из активных диапазонов, или null если текущей ячейки нет.
get Next Data Range(direction) Range |null Начиная с current cell и active range и двигаясь в заданном направлении, возвращает скорректированный диапазон, в котором соответствующая граница диапазона смещена таким образом, чтобы охватывать next data cell при этом по-прежнему покрывая текущую ячейку.

Подробная документация

get Active Range()

Возвращает выбранный диапазон на активном листе или null , если активного диапазона нет. Если выбрано несколько диапазонов, этот метод возвращает только последний выбранный диапазон.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const activeRange = selection.getActiveRange();

Возвращаться

Range |null — Активный диапазон.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

get Active Range List()

Возвращает список активных диапазонов на активном листе или null , если активных диапазонов нет.

Если выбран только один диапазон, это работает как вызов get Active Range() .

const sheet = SpreadsheetApp.getActiveSheet();
// Returns the list of active ranges.
const activeRangeList = sheet.getActiveRangeList();

Возвращаться

Range List |null — Список активных диапазонов.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

get Active Sheet()

Возвращает активный лист в электронной таблице.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const activeSheet = selection.getActiveSheet();

Возвращаться

Sheet — активный лист в электронной таблице.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

get Current Cell()

Возвращает текущую (выделенную) ячейку, выбранную в одном из активных диапазонов, или null если текущей ячейки нет.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
// Returns the current highlighted cell in the one of the active ranges.
const currentCell = selection.getCurrentCell();

Возвращаться

Range |null — Текущая ячейка.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

get Next Data Range(direction)

Начиная с current cell и active range и двигаясь в заданном направлении, возвращается скорректированный диапазон, в котором соответствующая граница диапазона смещена таким образом, чтобы покрыть next data cell при этом покрывая текущую ячейку. Если активный диапазон не ограничен по dimension , возвращается исходный активный диапазон. Если нет текущей ячейки или активного диапазона, возвращается null . Это эквивалентно выбору диапазона в редакторе и нажатию Ctrl+Shift+[arrow key] .

// Assume the active spreadsheet is blank.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

// Makes C3 the current cell and C3:E5 the active range.
sheet.getRange('C3:E5').activate();
// Logs 'C1:E3'
console.log(
    SpreadsheetApp.getSelection()
        .getNextDataRange(SpreadsheetApp.Direction.UP)
        .getA1Notation(),
);

Параметры

Имя Тип Описание
direction Direction Направление, в котором следует найти следующую ячейку на краю области данных.

Возвращаться

Range |null — Скорректированный диапазон, включающий ячейку с данными, или null если выбор отсутствует.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets