我可以使用一个Google脚本来处理多个电子表格吗?

Leo*_*eon 6 google-sheets google-apps-script

在这里,我问一个关于Google电子表格和Google脚本的问题。当我们复制电子表格时,Google脚本代码也将被复制。虽然我有几种不同情况的模板,但它们的结构非常相似。我想问的是有可能将所有模板的所有脚本代码链接在一起,例如临时A的代码是A1,临时B的代码是A2,A1和A2相同,如果我对A1进行一些更改,则A2将是自动更新。

谢谢。

Fat*_*son 8

如果我对您的问题理解正确,则可以使用。这个想法是您创建一个用作库的脚本。我们说它具有如下功能:

function myAppend()
{
  SpreadsheetApp.getActive().getActiveSheet.appendRow(["Dummy Text"]);
}
Run Code Online (Sandbox Code Playgroud)

然后,将其保存到文件->管理版本。给它命名并保存新版本。接下来,转到文件->项目属性,然后复制脚本ID-值。我将其称为库ID。

接下来,当您创建一个新的电子表格和一个新的脚本时,转到“资源”->“库”。在标有“添加库”的输入中输入库ID,然后添加。

现在,为了使下一阶段正常工作,使用脚本的每个人都必须拥有对库脚本的编辑权限,否则所需的更新功能将无法使用。

从最近添加的库中,选择“开发模式=开”。给库分配一个标识符。我将以“ TestLib”为例。

现在,在TemplateSpreadsheet脚本中,按如下所示从库中调用该函数:

function append()
{
  TetsLib.myAppend();
}
Run Code Online (Sandbox Code Playgroud)

好的,现在,如果工作表脚本中的开发模式已启用,并且所有用户都具有对库脚本的编辑权限,则应该进行设置。现在,当您复制模板工作表时,它将具有相同的脚本来调用您的库。同样,当您仅在库中编辑函数时,使用该函数的所有脚本也应更新。