将脚本插入多个Google Spreadsheets

use*_*307 8 google-sheets google-apps-script

我是一名业余编码员 - 我真的只做了一些事情让我的生活更轻松.我设置了Google表单和电子表格,用于跟踪我学校不同年级的学科问题.我写了一个简短的脚本,通过电子邮件通知相关人员任何提交,并且可以过滤和创建有关所选学习者的报告.

因为我做DIY编码(英语和法语老师,所以我没有学习编程),我经常想出一些应该从一开始就很明显的改进.我真的不想将脚本改进复制并粘贴到每个电子表格的脚本编辑器中.我已将此脚本复制为Google云端硬盘中的独立文件,但我无法将其插入任何电子表格中,因为图库只能访问已发布的脚本/应用.有没有解决的办法?我已经看过提到使用库,但我甚至不知道从哪里开始.您可以在Google云端硬盘中创建独立脚本但实际上并未使用它,这有点愚蠢.

任何帮助,将不胜感激.

Phi*_*zak 7

这最初是作为一个问题提出的,谷歌的解决方案是"库"功能.

所以你会想要的

  1. 您必须保存项目的版本.文件>管理版本...
  2. 然后进入File> Project Properties并复制项目密钥.
  3. 然后在所有其他电子表格中,您必须进入脚本编辑器并转到资源>管理库.然后从上面粘贴项目密钥并将其添加到该电子表格脚本.

没有自动化的方法来实现这一目标.要在任何电子表格上运行脚本,您必须进入每个电子表格的脚本编辑器.

资源


Ser*_*sas 5

另一个答案(Phil Bozak)一点也不差,因为它概述了如何构建库,但恐怕不足以让您真正“走上正确的轨道”。

如文档中所述,您可以像使用默认服务一样使用包含的库,这意味着库函数不能直接作为脚本使用,而应被视为脚本函数可以调用的工具箱。

因此,在您的每个电子表格中,您都应该有许多基本函数来实际“调用”图书馆服务,后者负责实际操作。

让我举一个简单的例子:假设您想更改工作表的背景颜色,您有一个函数yourLibrary可以更改当前工作表的颜色(yourLibrary是您给库的名称),该函数将被调用changeColor

现在在您的脚本中您可以使用,yourLibrary.changeColor但如果您希望在特殊操作(onEdit、onOpen...也在同一个脚本编辑器的资源中引用。

所有这些都是为了说明库功能非常有用且非常简单,但是您仍然需要在每个电子表格中都有一个“骨架脚本”,并且您将不得不考虑如何使用称为“可更新部分”的基本结构来重建脚本真正的东西'。

不是那么简单,但(完成后)很舒服;-)

希望这已经足够清楚了。