Изменение активного диапазона на вновь сгенерированный лист, вызывающий ошибку - PullRequest
1 голос
/ 04 июня 2019

Получив ошибку,

ReferenceError: "setActiveSelection" не определено.

Использование скрипта Google Apps в Google Sheets. С помощью этой функции я хочу создать новую вкладку листа в той же книге, используя шаблон из другой книги. После создания нового листа я бы хотел изменить активно выбранную ячейку на ячейку «B1». Шаблон копирует нормально, но ошибка исходит от строки, изменяющей активный выбор. Я также пробовал setActiveRange и даже просто setActiveSheet, но они возвращают ту же ошибку.

function newReception() {  
  var templateSpreadsheet = SpreadsheetApp.openById("ID Redacted");
  var template = templateSpreadsheet.getSheets()[1]; 

  var currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var newSheet = template.copyTo(currentSpreadsheet).setName("Untitled 
   Reception");

  setActiveSelection(currentSpreadsheet.getSheetbyName("Untitled 
   Reception").getRange('B1'));

}

Пожалуйста, посоветуйте решение. Спасибо!

1 Ответ

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

Вы получаете эту проблему, потому что вы запускаете .setActiveSelection() самостоятельно. Этот метод привязан к листам, поэтому вы должны запустить его для такого. Более подробную информацию об этом методе см. В документации Class Sheet .

Попробуйте определить свой лист как переменную, а затем запустите ее для новой переменной листа.

var sheet = currentSpreadsheet.getSheetbyName("Untitled Reception");
sheet.setActiveSelection('B1');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...