Обновление пользовательской функции при каждом изменении - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть пользовательская функция, использующая DeveloperMetadata из других листов рабочей книги.У меня проблема в том, что если я, например, удаляю один из предыдущих листов (таким образом удаляя эти метаданные), значение ячейки не изменяется.Единственный триггер, который пересчитывает эту функцию, - это сделать простое изменение пробела в Редакторе скриптов и сохранить файл.

Есть ли в Google Sheets метод для автоматического обновления?

function get_prev_days(rest_key) {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = spreadsheet.getSheets();
  var sheet_index = SpreadsheetApp.getActiveSheet().getIndex();
  var value = 0;
  for (var i = 0; i < sheet_index; i++) {
    var meta = sheets[i].getDeveloperMetadata();
    for (var j = 0; j < meta.length; j++) {
      if (rest_key == meta[j].getKey()) {
        value += Number(meta[j].getValue());
      }
    }
  }
  return value;
}
...