google-apps-script - 电子表格脚本和脚本库之间的可变范围

标签 google-apps-script global-variables

我有一个脚本,我将其用作库,将其加载到我需要的电子表格中。

当我将它添加到电子表格时,我定义了一个调用库相应方法的 onEdit 和 onLoad 函数。

我需要使用库的个人工作表来定义库应该可用的全局变量,该变量不能在工作表的单元格中设置。

我试过设置

var previd = "myid";

在电子表格脚本的开头,但这似乎不起作用。

我该如何解决?

最佳答案

“全局作用域”不是脚本之间共享的,它实际上是一个“脚本作用域”。

库函数所需的所有变量都必须作为参数传递给这些函数。如果您使用相同的参数调用多个函数,您应该考虑将它们包装在一个对象中。 Like一些 Apps Script内置 functionsoptArguments

您还可以在您的库中设置一个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/

相关文章:

javascript - GAS(谷歌应用程序脚本)/Google Drive API : Retrieving a redirected URL from pre redirect link

javascript - 从数组中获取日期值并将其设置到电子表格中的单元格中

google-apps-script - 为 DuplicateObject 请求创建带有可变键的 objectIds 映射

c++ - 是否允许使用作为 C++ 对象的全局变量(C 样式)?

python - 如何避免在此递归函数中使用全局变量并改进我的代码?

c++ - Eclipse C++ 不允许我使用全局变量?

javascript - Google 表格有条件地组合,清除范围内的所有单元格,循环。 VBA转JS

java - 我如何在 Android 的 onResponse 之外使用变量?

javascript - 将处理代码链接到 JavaScript,同时保持 pde 文件独立

javascript - 如何通过 Google 脚本获取每个单独列的单独总和?