[英]How to does one load Google Apps Script UDFs for use in Google Sheets from an Add-on?
我正在开发一个包含大量电子表格函数的插件。 它们被分成许多不同的部分,并存储在附加组件的文件树中的不同文件中。 我想到了一个菜单系统,复选框将它们全部捆绑在一起,这样一个人可以加载一个而不是另一个,或者一个和其他一些。
这就是主意。 这个问题是,一个人如何实现这一目标? How do you say Sheets(或任何子系统是控制这种事情),“嘿,看到这个.gs文件充满了功能?加载它!”?
与此相关的是进一步的改进,如果可以实现的话,很容易卸载一个功能块,也就是说,“嘿,看到这个文件充满了你20分钟前加载的功能?卸载它们!”
那么是否有一种从附加组件加载UDF的机制? 或者这是我们在Google Apps Script v6中看到的内容吗?
在Google表格术语上,UDF称为自定义函数 。
在Google文档编辑器(文档,表格,幻灯片)上,自定义菜单不能包含真正的复选框,但您可以使用图标或字符创建“动态菜单”,以显示打开/关闭哪个功能或使用HTML服务对话框或侧边栏使用真正的复选框。
自定义函数是在全局范围内定义的,因此它们都是公共函数。 通过使用少量自定义函数作为“私有自定义函数”的网关,您可以避免将“所有自定义函数”作为“公共自定义函数”。 类似于以下内容:
function myCustomFunction(choosen){
var localfunctions = {
a:function localfunction1(){ return 'one result'},
b:function localfunction2(){ return 'another result'}
}
return localfunctions[choosen]()
}
实际私有函数将下划线作为函数名的最后一个字符。 您的“公共自定义函数”可以调用它们而不是使用本地函数。
另一种方法是将自定义函数放在外部项目上并将其作为API启用。 有关将Apps脚本项目作为API启用的详细信息,请参阅https://developers.google.com/apps-script/api/how-tos/execute#step_1_deploy_the_script_as_an_api_executable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.