В Google sheets макрос onSelectionChange не работает в мобильном приложении если файл закрыт на компьютере

Создал макрос function onSelectionChange(event) в Google sheets по добавлению строки при выделении ячейки.

function onSelectionChange(event) {
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var editedCell = sheet.getActiveCell();
  var LastRowSh=SpreadsheetApp.getActive().getSheetByName('Лист1').getLastRow();
  var LastColSh=SpreadsheetApp.getActive().getSheetByName('Лист1').getLastColumn();
  var tableRange = "A2:C" + LastRowSh;
  var range = SpreadsheetApp.getActiveSpreadsheet().getRange(tableRange);
  var tableRangeLastRow=range.getNumRows()  
  var tableRangeLastCol=range.getNumColumns()

var target_rangeVal = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1").getRange(editedCell.getRow(),2).getValue();
var target_rangelength=target_rangeVal.length;

console.log(target_rangelength);
console.log(target_rangelength > 0);
console.log(editedCell.getColumn() <= tableRangeLastCol);
console.log(editedCell.getRow() <= tableRangeLastRow);

  if(editedCell.getColumn() <= tableRangeLastCol && editedCell.getRow() <= tableRangeLastRow && target_rangelength > 0){   
    //sheet.insertRowsBefore(sheet.getActiveRange().getRow(), 1);
     sheet.insertRowsAfter(sheet.getActiveRange().getRow(), 1);
     sheet.getSheetByName('Лист1').getRange(editedCell.getRow()+1,1).setValue(sheet.getSheetByName('Лист1').getRange(editedCell.getRow(),1).getValue());
  }

Если файл одновременно открыт на ПК и в мобильном приложении макрос работает нормально на обоих устройствах. Если файл закрываю на ПК то макрос перестает работать в мобильном приложении.

Как решить проблему с макросом onSelectionChange? Спасибо!

Дополнение В файле есть еще один макрос function onEdit(event) срабатывающий при изменении ячеек. Он работает нормально в мобильном приложении если файл закрыт на ПК.


Ответы (0 шт):