Google Apps Script активная яейчка getActiveRange
Подскажите, пожалуйста, в чём может быть проблема — при обращении к книге по URL
или ID
не отрабатывает функция getActiveRange()
.
При установке в любую ячейку в варианте с URL
или ID
всегда позиция 1,1.
При обращении через getActiveSpreadsheet()
— getActiveRange
показывает правильно.
Мой код:
function myFunction() {
var ss1 = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss1.getSheetByName ("111");
const ss2 = SpreadsheetApp.openById("1XmeCyPbI____i_______Hes");
const sheet2 = ss2.getSheetByName("111");
var range1 = sheet1.getActiveRange();
var range2 = sheet2.getActiveRange();
var col1 = range1.getColumn ();
var row1 = range1.getRow ();
var col2 = range2.getColumn ();
var row2 = range2.getRow ();
Logger.log (col1);
Logger.log (row1);
Logger.log (col2);
Logger.log (row2);
}
Ответы (1 шт):
Все дело в контексте. Используя getActiveSpreadsheet() вы получаете ссылку на текущую таблицу. И все функции будут использоваться в контексте текущей таблицы.
Functions that are run in the context of a spreadsheet can get a reference to the corresponding Spreadsheet object by calling this function.
Используя функции open(file) , openById(id) и openByUrl(url) вы получаете ссылку на новую открытую таблицу на сервере.
Note that the spreadsheet doesn't physically open on the client side. It opens on the server only (for modification by the script).