- Вы хотите принудительно пересчитать пользовательскую функцию с помощью Google Apps Script.
Если мое понимание верно, как насчет этого примера сценария?Я думаю, что есть несколько ответов для вашей ситуации.Поэтому, пожалуйста, подумайте об этом как об одном из нескольких ответов.
В этом примере сценария, чтобы пересчитать функцию, функция заменяется той же самой функцией.
Пример сценария 1:
В этом примере сценария, когда =CHECK(INPUT)
является ячейкой "A1" для "Sheet1", функция заменяется той же функцией.
var sheetName = "Sheet1"; // Please modify this for your situation.
var cell "A1"; // Please modify this for your situation.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheetByName(sheetName).getRange(cell);
var formula = range.getFormula();
range.clearContent();
SpreadsheetApp.flush();
range.setFormula(formula);
Пример сценария 2:
В этом примере сценария все функции в «Листе 1» заменены одной и той же функцией.
var sheetName = "Sheet1"; // Please modify this for your situation.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheetByName(sheetName).getDataRange();
var values = range.getValues();
var formulas = range.getFormulas();
var replacedValues = values.map(function(e, i) {return e.map(function(f, j) {return formulas[i][j] || f})});
range.clearContent();
SpreadsheetApp.flush();
range.setValues(replacedValues);
Примечание:
- Когда выполняются приведенные выше примеры сценариев,функция пересчитывается.Например, один из примеров сценариев устанавливается как управляемый по времени триггер, функция, которую вы хотите пересчитать, принудительно обновляется с помощью управляемого по времени триггера.
Ссылки:
Если я неправильно понял ваш вопрос, и это не то направление, которое вы хотите, я приношу свои извинения.