Методы класса Sheet getActiveCell, getCurrentCell, getActiveRange не работают должным образом - PullRequest
0 голосов
/ 11 июня 2019

В моей электронной таблице несколько листов, один из которых - «Имена файлов».Желание получить конкретное имя файла, выбранное в данный момент.Вот функция:

function getFileName (aSpreadsheet) {
  var aSheet=aSpreadsheet.getSheetByName('File Names');
  var sheetName = aSheet.getName();
  var aCell = aSheet.getActiveCell();
  var cellAddress = aCell.getA1Notation();
  var fileName = aCell.getValue();
  return fileName;
}

Этот код работает до тех пор, пока в настоящий момент активен лист «Имена файлов».Но если в данный момент активен какой-то другой лист, он возвращает значение активной ячейки в активном листе, а не выбранную ячейку листа «Имена файлов».Получает правильный лист;sheetName - это «Имена файлов».Не имеет значения, использую ли я getActiveCell, getCurrentCell или getActiveRange, если только «Имена файлов» не являются текущим активным листом, который не работает.

1 Ответ

0 голосов
/ 11 июня 2019

Попробуйте это:

function getFileName (aSpreadsheet) {
  var aSpreadsheet=aSpreadsheet||SpreadsheetApp.getActive();//the default when aSpreadsheet is not defined by the parameter
  var aSheet=aSpreadsheet.getSheetByName('File Names');
  var sheetName=aSheet.getName();
  var aCell=aSheet.getActiveCell();
  var cellAddress=aCell.getA1Notation();
  var fileName=aCell.getValue();
  Logger.log(fileName);
  return fileName;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...