我可以将一个Google脚本用于多个电子表格

时间:2017-10-04 23:26:06

标签: google-apps-script google-sheets

我在这里问一个谷歌电子表格和谷歌脚本的问题。 当我们复制电子表格时,也会复制Google脚本代码。 虽然我有不同案例的几个模板,但它们的结构非常相似。我想问的是可以将所有模板的所有脚本代码链接在一起,例如temp A的代码是A1,temp B的代码是A2,A1和A2是相同的,如果我在A1中做了一些更改,A2将是自动更新。

谢谢。

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以使用Libraries。 这个想法是你创建一个用作库的脚本。我们假设它具有如下功能:

function myAppend()
{
  SpreadsheetApp.getActive().getActiveSheet.appendRow(["Dummy Text"]);
}

然后将其版本保存到文件 - >管理版本。给它起一个名字并保存新版本。接下来,您将转到文件 - >项目属性并复制脚本ID - 值。我将其称为图书馆ID。

接下来,当您创建新的电子表格和新脚本时,请转到参考资料 - >库。在标有&#34的输入中输入库ID;添加库"并添加。

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

从最近添加的库中选择"开发模式=开"。为图书馆提供标识符。我将使用" TestLib"作为我的榜样。

现在,在您的TemplateSpreadsheet脚本中,您可以按如下方式从库中调用该函数:

function append()
{
  TetsLib.myAppend();
}

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

答案 1 :(得分:1)

您可以使用独立脚本,然后按ID

调用电子表格

https://developers.google.com/apps-script/guides/standalone