Чтобы получить список выделенных пользователем диапазонов, необходимо у активной Таблицы вызвать метод
Он возвращает структуру
Из особенностей можно отметить порядок возвращаемых данных. Т.к. массив в gs - упорядоченный обьект, то элементы в нем находятся в порядке выделения их пользователем. Результат работы программы, листинг которой будет приведен ниже:
getActiveRangeList()
.Он возвращает структуру
RangeList()
, которая может быть очищена одним из методов clean
, или изменить содержание и форматирование через set
-методы. Единственный get
-метод getRanges()
возвращает список (массив) выделенных пользователем диапазонов.Из особенностей можно отметить порядок возвращаемых данных. Т.к. массив в gs - упорядоченный обьект, то элементы в нем находятся в порядке выделения их пользователем. Результат работы программы, листинг которой будет приведен ниже:
A1 A2 A3 A4 B4 B3 B2 B1Приятная возможность задать пользователю дополнительный квест ;-) Далее приведена программа, которая выводит на экран модальное окно со списком выделенных пользователем диапазонов:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Возвращает RangeList выделенных пользователем диапазонов | |
* @return {RangeList} | |
**/ | |
function getActiveRangeList() { | |
return SpreadsheetApp.getActiveRangeList(); | |
} | |
/* | |
* Возвращает html на основе выделенных пользователем диапазонов | |
* @return {String} | |
**/ | |
function generateContentActiveRangeList() { | |
var activeRangeList = getActiveRangeList(); | |
return activeRangeList.getRanges() | |
.map(function(range) { | |
return range.getA1Notation(); | |
}).join("<br>"); | |
} | |
/* | |
* Работа с пользовательским интерфейсом | |
**/ | |
function onOpen() { | |
var ui = SpreadsheetApp.getUi(); | |
var menu = ui.createMenu("Дополнительно") | |
.addItem("Показать список выделенных диапазонов", "showActiveRangeList"); | |
menu.addToUi(); | |
} | |
function showActiveRangeList() { | |
var html = generateContentActiveRangeList(); | |
var userInterface = HtmlService.createHtmlOutput(html); | |
SpreadsheetApp.getUi() | |
.showModalDialog(userInterface, "Список выделенных диапазонов"); | |
} |
Комментарии
Отправить комментарий