getActiveRange не возвращает текущий выбор - PullRequest
0 голосов
/ 04 января 2019

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

var sheet = SpreadsheetApp.getActive().getActiveSheet();
var selection = sheet.getActiveRange();
var data = selection.getValues();

Приведенные выше результатыв массиве получают содержимое ячейки A1, независимо от того, какие ячейки фактически выбраны.Когда я заменяю getActiveRange() на, например, getRange(2,1,10,10), который работает как положено.

Любая подсказка о том, почему я не могу добраться до выбранных ячеек, приветствуется!

Ответы [ 3 ]

0 голосов
/ 04 января 2019

Я думаю, что проблема в

var sheet = SpreadsheetApp.getActive().getActiveSheet();

Это потому, что есть некоторая ошибка при "сцеплении" методов двух разных классов объектов, в данном случае таблицы классов и таблицы классов.Существует сообщение об ошибке, связанное с этим getActiveSheet () возвращает имя первого листа

Обходной путь должен заменить вышеуказанную строку:

var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
0 голосов
/ 04 января 2019

Похоже, что проблема была на стороне Google, потому что после 24 часов сбоя существующий код теперь работает без нареканий.Все ваши версии тоже отлично работают.

Спасибо за вашу помощь, не только сейчас, но и бесчисленное количество раз, когда я находил ответы здесь, не задавая вопрос!

0 голосов
/ 04 января 2019

Получает и отображает активный диапазон в диалоговом окне.

function getARange(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getActiveRange();
  var vA=rg.getValues();
  var s='';
  for(var i=0;i<vA.length;i++){
    s+=Utilities.formatString('<br />%s', vA[i].join(','));
  }
  var userInterface=HtmlService.createHtmlOutput(s);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'The Active Range')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...