Функция отмены скриптов Google Apps - PullRequest
0 голосов
/ 01 мая 2019

Я настраиваю электронную таблицу, и мне нужно защитить ячейки при копировании.Поскольку Google Sheets не защищает от копирования при копировании нового листа, я наткнулся на этот код.Это функция отмены, но она работает только с текстом, а не с формулой.Любые идеи о том, как это изменить?

Я изменил .getValue на .getFormula, но безуспешно.

var masterSheetName = "Master" // sheet where the cells are protected from updates
  var helperSheetName = "Backup" // sheet where the values are copied for later checking

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var masterSheet = ss.getActiveSheet();
  if (masterSheet.getName() != masterSheetName) return;

  var masterRange = masterSheet.getActiveRange();

  var helperSheet = ss.getSheetByName(helperSheetName);
  var helperRange = helperSheet.getRange(masterRange.getA1Notation());
  var newValue = masterRange.getValues();
  var oldValue = helperRange.getValues();
  Logger.log("newValue " + newValue);
  Logger.log("oldValue " + oldValue);
      Logger.log(typeof(oldValue));
  if (oldValue == "" || isEmptyArrays(oldValue)) {
    helperRange.setValues(newValue);
  } else {
    Logger.log(oldValue);
    masterRange.setValues(oldValue);

  }
}
...