我有一个脚本,我将其用作库,将其加载到我需要的电子表格中。
当我将它添加到电子表格时,我定义了一个调用库相应方法的 onEdit 和 onLoad 函数。
我需要使用库的个人工作表来定义库应该可用的全局变量,该变量不能在工作表的单元格中设置。
我试过设置
var previd = "myid";
在电子表格脚本的开头,但这似乎不起作用。
我该如何解决?
最佳答案
“全局作用域”不是脚本之间共享的,它实际上是一个“脚本作用域”。
库函数所需的所有变量都必须作为参数传递给这些函数。如果您使用相同的参数调用多个函数,您应该考虑将它们包装在一个对象
中。 Like一些 Apps Script内置 functions有 optArguments
。
您还可以在您的库中设置一个setParameters
函数来传递一次这些变量(每个运行时)并让它们可用于下一次库调用。像这样:
//on the library script
var clientParams = null;
function setParameters(parameters) { clientParams = parameters; }
function exampleFunc() { return clientParams.previd; }
//on your client script
library.setParameters({previd:'myid', otherParam:'example'});
//then you can call
library.exampleFunc();
关于google-apps-script - 电子表格脚本和脚本库之间的可变范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13338086/