【问题标题】:how to share same app-script between multiple (different) spreadsheets in google spreadsheets如何在谷歌电子表格中的多个(不同)电子表格之间共享相同的应用程序脚本
【发布时间】:2019-11-29 05:22:43
【问题描述】:

首先,我花了 3 个小时阅读有关谷歌云、发布、项目等的文档。经过多次尝试后,我意识到我遗漏了一些东西,所以这是我的问题。

我有两个电子表格,我们称之为“价格”和“成本”。我想要实现的是它们共享相同的应用程序脚本,如果我更改一个脚本,因为它由两者共享,它将在几秒钟内自动更改。

所以我确实创建了一个应用程序脚本,它在单元格中返回一个字符串(只是为了简单起见)并将其命名为 STRINGFUNCTION();是在 PRICES 电子表格中创建的。我的目标是让它在 COSTS 文件中工作,而无需手动输入。 我希望如果我单击资源 > 云平台项目并将两个电子表格中的两个应用程序脚本添加到同一个项目中,它将自动运行。好吧,它不会 - 如果我在 PRICES 中的单元格 =STRINGFUNCTION() 中写入它可以正常工作,并且在 COSTS 中 - 它表示该功能未知。

我怎样才能做到这一点,以便它在我的两个文件之间工作,并且如果它们都在同一个项目中,它们共享相同的功能?

【问题讨论】:

  • 查找 GSute 编辑器插件...
  • 为什么不在独立的 web 应用程序中进行。您可以访问任意数量的电子表格,并且所有脚本都在一个地方。您也可以考虑使用库。

标签: google-apps-script google-cloud-platform


【解决方案1】:

您一次只能将一个 Google Apps 脚本文件绑定到一个文档。 Apps 脚本不允许您从另一个 Apps 脚本文件中编辑云上 .gs 文件的内容,因为试图获取:

var data = DriveApp.getFileById('script-id').getAs('application/vnd.google-apps.script');

将返回错误:

No item with the given ID could be found, or you do not have permission to access it.

但是,您可以将脚本绑定到一个电子表格,例如说“成本”电子表格,然后在电子表格中为“价格”创建第二张表,其中包含所有相关的函数调用。在单独的“价格”电子表格中,您可以使用内置的IMPORTRANGE 公式从第一个具有绑定脚本的电子表格的“价格”范围中获取数据。

【讨论】:

    猜你喜欢
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多