2013-02-20 83 views
7

我是一名业余编码员 - 我真的只做了一些事情让我的生活更轻松。为了跟踪我学校不同年级的学科问题,我设立了Google表格和电子表格。我编写了一个简短的脚本,通过电子邮件向适当的人员通知任何提交内容,并可以筛选和创建关于所选学习者的报告。将脚本插入多个Google Spreadsheets

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

任何帮助,将不胜感激。

回答

6

这个问题最初是作为一个问题提出的,而Google的解决方案是“库”功能。

所以你会想

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

没有一种自动化的方法来实现这一点。为了让脚本在任何电子表格上运行,您必须进入每个电子表格的脚本编辑器。

Source

+0

谢谢你的帮助。我会去图书馆看看我能做些什么。 – user2091307 2013-02-20 21:20:17

4

对方回答(菲尔Bozak)是不坏,因为它给出了如何建立一个库的总体概述,但恐怕不会是足以使你真的“上正确的轨道'。

如文档您可以使用包含的库就像你会使用默认服务这意味着库函数是不能直接使用的脚本,而应被视为一个工具箱中提到的脚本功能可以打电话。

因此,在每个电子表格中,您应该拥有一些实际“调用”图书馆服务的基本功能,后者负责实际操作。让我举一个简单的例子:假设您想要更改工作表的背景颜色,您在yourLibrary中有一个函数,用于更改当前工作表的颜色(yourLibrary是您提供给库的名称),该功能将被称为changeColor

现在,在脚本中,您可以使用yourLibrary.changeColor,但如果您希望在特殊操作(onEdit,onOpen ...或菜单调用中)执行此电子表格的脚本本身,则必须出现此“服务调用”并且该库也必须在同一脚本编辑器的资源中引用。

所有这些都说明了库的功能非常有用且非常简单,但是您仍然需要在每个电子表格中使用“框架脚本”,并且必须考虑如何使用基本结构重新构建脚本, 可更新部件,做真正的stuf'。

没那么简单,但(这样做了之后)相当舒适;-)

希望这是非常明显的。

+0

感谢您的输入。在环顾一下并听从你的建议后,我想我可以破解它。如果我遇到障碍,我会回来的! – user2091307 2013-02-20 21:19:41

+0

它像一个魅力。感觉有点慢,但这可能是因为我的作品互联网连接速度慢。我开启了开发者模式,但是我预计我的库的更改会立即显示在电子表格中,而无需保存新版本。我会做更多的研究 - 可能错过了一些东西。干杯! – user2091307 2013-02-21 13:28:50

+1

看看[这篇文章](http://stackoverflow.com/questions/12521872/development-mode-copies-of-template-spreadsheets-made-by-other-users),我想这可能会有所帮助。并且:开心,它适合你;-) – 2013-02-21 14:20:26

2

您可能还想考虑您的个人电子表格是否需要自己的容器脚本。为什么你不能单独阅读并在所有表格上运行报告?

0

另一种办法可以帮助你,你可以创建脚本应用在驱动文件,把你想要的所有电子表格ID在阵列和带环招运行脚本

相关问题