leo*_*one 10 google-apps-script
我试图在几个脚本文件中组织我的电子表格代码.在脚本编辑器中,我可以根据需要创建尽可能多的*.gs文件,但我无法弄清楚如何访问将在另一个脚本中定义的代码.
我想要实现的简单示例:
Code.gs:
function onEdit(){
myFunctionFromLibrary_gs();
}
Run Code Online (Sandbox Code Playgroud)
Library.gs:
function myFunctionFromLibrary_gs(){
Browser.msgBox("hi there");
}
Run Code Online (Sandbox Code Playgroud)
onEdit()显然是由Trigger调用的.如果不进行修改,将导致运行时错误,说明这一点
myFunctionFromLibrary_gs TypeError:不是函数,它是未定义的.
那么我怎样才能做到这一点,或者目前不支持?
请事先提供帮助.
gih*_*uka 14
是的,这是可能的.
- 您不仅限于单个服务器Code.gs文件.您可以跨多个文件传播服务器代码,以便于开发.所有服务器文件都加载到同一个全局命名空间中,因此在您希望提供安全封装时使用JavaScript类.
我不知道_gs
后缀对谷歌来说意味着什么,但如果没有它(参见下面的代码),代码就可以了.
file1.gs:
function onEdit(){
myFunctionFromLibrary();
}
Run Code Online (Sandbox Code Playgroud)
file2.gs
function myFunctionFromLibrary(){
Browser.msgBox("hi there");
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我知道这是一个老问题,但我发现它正在寻找类似的任务,并且在我的同一次搜索中碰巧找到了答案。来自https://developers.google.com/apps-script/guide_libraries#writingLibrary的文档:
如果您希望您的脚本的一个或多个方法对您的库用户不可见(也不可用),您可以用下划线结束该方法的名称。例如,myPrivateMethod_()。
虽然您的函数不以下划线结尾,但它可能在其他地方具有特殊含义,或者 _gs 后缀也可能具有特殊含义(特别是给定相同的文件名后缀)。
归档时间: |
|
查看次数: |
10296 次 |
最近记录: |