setNamedRange в скрипте приложений Google, используя значение ячейки - PullRequest
0 голосов
/ 02 сентября 2018

Итак, я новичок в этом, но я могу копировать код и адаптировать его для простых вещей. Я хочу использовать содержимое ячеек для создания имен в именованных диапазонах. В A1 у меня есть имя, которое я хочу использовать, а в A2: A22 у меня есть диапазон данных.

Кто-то поделился этим, что прекрасно работает с setNamedRange, если имя именованного ранжирования явно указано в сценарии - TestRange согласно коду:

function testNamedRange() {
  var ss = SpreadsheetApp.openById('here is the spreadsheet id');
  var range = ss.getRange('Sheet1!A2:A22');
  ss.setNamedRange('TestRange', range);
  var rangeCheck = ss.getRangeByName('TestRange');
  var rangeCheckName = rangeCheck.getA1Notation();
}

но если я заменим имя «TestRange», скажем, «Sheet1! A1», он не будет брать текст из Sheet1! A1 и использовать его для имени этого диапазона - сообщение об ошибке «Имя, данное этому диапазону: недействителен ":.

function testNamedRange() {
  var ss = SpreadsheetApp.openById('here is the spreadsheet id');
  var range = ss.getRange('Sheet1!A2:A22');
  ss.setNamedRange('**Sheet1!A1**', range);
  var rangeCheck = ss.getRangeByName('**Sheet1!A1**');
  var rangeCheckName = rangeCheck.getA1Notation();
}

1 Ответ

0 голосов
/ 02 сентября 2018

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

т.е.

var cell = ss.getRange('Sheet1!A1');
var cellValue = cell.getValue();

Для получения более подробной информации, пожалуйста, проверьте https://developers.google.com/apps-script/guides/sheets

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