添加自定义函数
从 8.1 版本起,您可以使用宏插件向电子表格添加自定义函数:
创建自定义函数
- 打开视图选项卡并选择宏,宏窗口将会弹出。
- 在自定义函数区域,点击
,您将看到一个自定义函数模板:
(function()
{
/**
* Function that returns the argument
* @customfunction
* @param {any} arg Any data.
* @returns {any} The argument of the function.
*/
function myFunction(arg) {
return arg;
}
Api.AddCustomFunction(myFunction);
})();
-
为您的函数编写说明。如有需要,请指定参数和返回值,添加函数脚本,使用 Api.AddCustomFunction 方法将函数添加到系统中。
-
点击保存。


现在,您可以在电子表格中使用该函数了。
您可以在此处找到自定义函数的示例。
访问单元格地址(自 v9.0.4 起)
从 9.0.4 版本开始,您可以在自定义函数中访问单元格地址信息:
-
this.address— 自定义函数正在计算的单元格的地址(例如,"C5"); -
this.args— 输入参数的数组。每个参数对象包含一个address字段,表示源单元格的地址(例如,"A1")。该数组具有以下结构:[
{"address": "arg1_address"},
{"address": "arg2_address"},
...
]
示例:
(function()
{
/**
* Function that returns the argument
* @customfunction
* @param {any} arg1 Any data.
* @param {any} arg2 Any data.
* @returns {any} The argument of the function.
*/
function CUSTOMFUNC(arg1, arg2) {
console.log("Function is evaluated in:", this.address);
this.args.forEach(arg => {
console.log("Argument value:", arg.value, "from cell:", arg.address);
});
}
Api.AddCustomFunction(CUSTOMFUNC);
})();
管理自定义函数
如果您想重命名函数,请点击自定义函数名称旁的 图标并且选择重命名。输入新的函数名称后点击确定。
要删除不需要的自定义函数,请点击自定义函数名称旁的 图标然后选择删除。
要复制函数,方法是点击自定义函数名称旁的 图标然后选择复制。
异步函数
从 9.0 版本开始,您可以添加异步自定义函数,以便在函数体中管理任何请求:
(function()
{
/**
* 返回参数的函数
* @customfunction
* @param {any} arg 任意数据。
* @returns {any} 函数的参数。
*/
async function myFunction(arg) {
return arg;
}
Api.AddCustomFunction(myFunction);
})();
您可以在此处找到异步自定义函数的示例。