ranges

модуль для работы с именованными диапазонами в формулах

object ranges;

Example

// добавляем диапазон "MYRANGE"
$$("ssheet").ranges.add("MYRANGE", "B2:C2", "Sheet 2");

Related samples

Details

Модуль позволяет создавать диапазоны ячеек и работать с ними через специальные методы. Читайте дополнительную информацию в этой статье.

Методы для работы с диапазонами:

add()

Добавляет именованный диапазон глобально или активному/указанному листу. Метод принимает следующие параметры:

  • name (string) - имя диапазона
  • range (string) - диапазон ячеек
  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, которому хотите добавить диапазон
    • true, чтобы добавить диапазон глобально (виден по всему Spreadsheet).

Чтобы добавить локальный диапазон активному листу, не передавайте параметр scope.

// добавляем диапазон "MYRANGE" листу "Sheet 1"
$$("ssheet").ranges.add("MYRANGE", "B2:C2", "Sheet 1");

Вы также можете указать название листа в самом диапазоне.

// добавляем диапазон, который берёт данные из листа "Sheet 1" в лист "Sheet2"
spreadsheet.ranges.add("MYRANGE", "Sheet1!A1:A3", "Sheet2");

getCode()

Возвращает диапазон ячеек. Метод принимает следующие параметры:

  • name (string) - имя диапазона
  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, диапазон которого хотите получить
    • true, чтобы получить глобальный диапазон.

Чтобы получить локальный диапазон активного листа, не передавайте параметр scope.

// "B2:C2"
$$("ssheet").ranges.getCode("MYRANGE", "Sheet 1");

getRanges()

Возвращает существующие диапазоны. Метод принимает 1 параметр:

  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, диапазон которого хотите получить
    • true, чтобы получить глобальный диапазон.

Чтобы получить локальный диапазон активного листа, не передавайте параметр scope.

// [{name:"K",range:"C3:D3", global: true},...]
$$("ssheet").ranges.getRanges("Sheet 1");

Флаг global в объекте диапазона означает, виден ли диапазон глобально (по всему Spreadsheet).

remove()

Удаляет указанный диапазон. Метод принимает следующие параметры:

  • name (string) - имя диапазона
  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, локальный диапазон которого хотите удалить
    • true, чтобы удалить глобальный диапазон.

Чтобы удалить локальный диапазон активного листа, не передавайте параметр scope.

// удаляем глобальный диапазон "globalRange"
$$("ssheet").ranges.remove("globalRange", true);

clear()

Удаляет все глобальные или локальные диапазоны. Метод принимает 1 параметр:

  • scope (string, boolean) - область удаления диапазонов. Возможные значения:
    • имя листа, локальные диапазоны которого хотите удалить
    • true, чтобы удалить все глобальные диапазоны со Spreadsheet.

Чтобы удалить локальные диапазоны активного листа, не передавайте параметр scope.

// удаляем все диапазоны с листа "Sheet 3"
$$("sheet").ranges.clear("Sheet 3");

parse()

Парсит новые диапазоны. По сравнению с методом add(), метод parse() используется для добавления сразу нескольких диапазонов. Метод принимает следующие параметры:

  • data (array) - 2D массив, где каждый внутренний массив может включать 3 элемента:
    • name - имя диапазона
    • range - диапазон ячеек
    • global - если true добавляет диапазоны глобально.
  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, в который хотите добавить диапазоны.

Чтобы добавить локальные диапазоны активному листу, не передавайте параметр scope.

// парсим диапазоны в лист "Sheet 2" 
$$("sheet").ranges.parse([
  // локальный диапазон для листа "Sheet 2"
  ["firstRange", "A1:A3"], 
  // шлобальный диапазон
  ["secondRange", "B3:B7", true] 
], "Sheet 2");

Обратите внимание, что вы можете указывать диапазоны с именем листа ("Sheet1!C1:C5") или без ("C1:C5"). Если диапазон не включает в себя имя листа, он возьмёт данные из:

  • определённго листа, указанного вторым параметром метода parse
  • активного листа.

serialize()

Возвращает массив диапазонов.

  • scope (string, boolean) - область видимости. Возможные значения:
    • имя листа, массив диапазонов которого хотите получить
    • true, чтобы вернуть массив только глобальных диапазонов.

Чтобы получить массив локальных диапазонов активного листа, не передавайте параметр scope.

$$("sheet").ranges.serialize("Sheet 1");
/*
Метод возвращает 2D массив:
[
    ["firstRange", "A1:E3", false],
  ["secondRange", "B2:C2", false],
]
*/

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

Наверх