在Google Sheet中,我们经常使用公式来计算单元格的值。但是,有时候我们需要将这些公式嵌入到自己的应用程序或网站中。为了实现这一点,我们可以使用Google Apps Script将公式转换为回调函数。
首先,我们需要使用Google Apps Script创建一个回调函数。下面是一个示例脚本,用于'SUM”公式转换为回调函数:
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Convert Formulas to Callback Functions', 'convertFormulas')
.addToUi();
}
function convertFormulas() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();
var formula = range.getFormula();
var callbackFunction = createCallbackFunction(formula);
range.setFormula(callbackFunction);
}
function createCallbackFunction(formula) {
var callbackFunction = formula;
callbackFunction = callbackFunction.replace(/=/g, '');
callbackFunction = callbackFunction.replace(/SUM/g, 'sum');
callbackFunction = callbackFunction.replace(/,/g, ' + ');
callbackFunction = 'function sum(' + getParameters(formula) + ') { return ' + callbackFunction + '; }';
return callbackFunction;
}
function getParameters(formula) {
var parameters = [];
formula.match(/ [A-Z]{1,2}[0-9]+/g).forEach(function(reference) {
reference = reference.trim();
if (parameters.indexOf(reference) == -1) {
parameters.push(reference);
}
});
return parameters.join(', ');
}
在这个示例脚本中,我们为Google Sheet添加了一个自定义菜单,并创建了一个名为“convertFormulas”的函数来将选择的单元格中的公式(例如,SUM(A1:A10))转换为回调函数。
要做到这一点,我们首先将回调函数中所有
上一篇:Appsscript:输出缺少行