google-apps-script - 如何在我的电子表格中调用我的独立脚本?

标签 google-apps-script google-spreadsheet-api

我从 Google Drive 创建了一个独立的 Apps 脚本,但是当我尝试从 Google 电子表格访问它时,我看不到访问脚本的方法(即使我创建脚本时,我将它创建为电子表格脚本)。

在电子表格中,“工具->脚本管理器...”菜单项不显示我的脚本,“工具->脚本编辑器...”也不显示。后者有一个“最近的项目”部分,但它没有列出我新创建的脚本,也没有列出它的相关项目。

如果我从电子表格中创建一个新脚本(即 .Tools->Script editor...)并从独立脚本中剪切和粘贴代码,它工作正常。但是,这只能在单个电子表格中使用——要从另一个电子表格中使用它,我必须再次剪切和粘贴/通过身份验证。

有没有办法在不将脚本发布到画廊的情况下做到这一点,我假设它会公开(我没有将它公开的问题,但似乎必须有更好的方法)?脚本是 here -- 它是世界可读的链接。它向谷歌电子表格添加了一个菜单,可让您在 BigQuery 中运行查询并将结果转储到电子表格中。

最佳答案

您还可以使用可安装的触发器。如果您将独立脚本中的可安装触发器(例如 onOpen)安装到文档中,它会获得与简单触发器类似的权限。

更好的是,当可安装触发器从您的独立脚本调用其函数时,它会在您的独立脚本中执行!因此它可以在您的独立脚本中调用任何其他函数。它的 Logger.log() 条目甚至可以从您的独立脚本中查看,即使它是从您的工作表文档中执行的。

因此,基本上,如果您的脚本安装了一个与其功能之一相关的 onOpen() 触发器,那么就好像您的表格文档已经 required() 您的整个独立脚本文件一样好。

(假设脚本的所有者对文件有编辑权限。)

关于google-apps-script - 如何在我的电子表格中调用我的独立脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643885/

相关文章:

javascript - 在 Google Apps 脚本中循环,处理错误, fatal error ,停止脚本,循环停止

javascript - 使用 Google Apps 脚本获取已发送文件夹中的未读计数 - GMail

javascript - Google Scripts - 从退回的邮件中获取电子邮件地址并解析信息

c# - 向谷歌电子表格添加一行时出现异常

gradle - 添加Google API后出现Gradle错误

pdf - 使用 GAS 将带有事件的 Google 日历导出为 PDF

javascript - 如何根据用户输入查找行号并将该行中的所有数据应用到文档模板?

excel - 如何在 Google 电子表格单元格中调整绘图?

google-sheets - 限制谷歌电子表格/表单列表提要的结果集大小

google-apps-script - Sheet.getRange(1,1,1,12) 括号中的数字表示什么?