Нужна помощь в получении критериев проверки данных из «списка из диапазона» в скрипте приложения, чтобы я мог переключаться между этими значениями - PullRequest
1 голос
/ 11 апреля 2020

Я хочу получить критерии проверки данных из «списка из диапазона» в скрипте приложения, чтобы можно было циклически проходить через эти значения. Например, в ячейке A5 настроена проверка данных, где «критерии» - «Список из диапазона», а соответствующий диапазон - «Профиль MTSS класса K»! B2: AH2 ». Я хочу, чтобы он возвращал «Профиль MTSS класса K»! B2: AH2 », чтобы я мог циклически проходить через этот диапазон и что-то делать с ячейками, содержащимися в этом диапазоне.

Это код, который у меня есть до сих пор :

function onOpen(e) {
  SpreadsheetApp.getUi()

  .createMenu('MTSS Tools')
  .addItem('Save All Student Reports', 'saveAllStudentReports')
  .addToUi();
}


function saveAllStudentReports() {

var cell = SpreadsheetApp.getActive().getRange('A4');
var rule = cell.getDataValidation();
var ui = SpreadsheetApp.getUi();

if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  ui.alert("Has rule");
  ui.alert('The data validation rule is ' + criteria + args);
}
else
{
  ui.alert("NO rule");
}
}

Однако я не получаю фактический диапазон. Идеи? Большое спасибо!

1 Ответ

0 голосов
/ 13 апреля 2020

Как вы можете видеть в документации :

getCriteriaValues ​​возвращает:

Object [] - массив соответствующих аргументов к типу критериев правила; число аргументов и их тип соответствуют соответствующему методу require ... () класса DataValidation

Итак, args является объектом Range, что означает все методы из класса Range Можно использовать , например getA1Notation :

ui.alert('The data validation rule is ' + criteria + ' ' + args[0].getA1Notation()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...