【问题标题】:Is there any way to trigger functions of Google Sheet 1 from Google Sheet 2?有什么方法可以从 Google Sheet 2 触发 Google Sheet 1 的功能?
【发布时间】:2020-04-11 01:13:06
【问题描述】:

有什么方法可以从 Google sheet 2 触发 Google Sheet 1 脚本编辑器的功能?

我阅读了 google sheet scripts 的文档并了解了库,但无法理解它的工作原理: 1)在项目键的项目属性中,它显示“已折旧” - 这是否意味着我不能再共享库了?

2) 在谷歌表 2 中,当我尝试通过输入谷歌表 1 的项目密钥来添加库时,我不断收到以下错误:

所选库必须有一个保存的版本才能包含在另一个脚本中。打开您要添加为库的项目,保存版本并重试。

【问题讨论】:

  • Warning: A script that uses a library does not run as quickly as it would if all the code were contained within a single script project. Although libraries can make development and maintenance more convenient, you should use them sparingly in projects where speed is critical. Because of this issue, library use should be limited in add-ons. 差不多了,如果你想做的事情又慢又笨重,就使用库。
  • 嗨@CodeCamper 我可以接受缓慢的过程,只要我能够在另一张表中触发某些东西。知道如何解决上述错误吗?
  • lamblichus 的回答对你有用吗?
  • 如果您的目标是重用代码而不将整个代码复制并粘贴到绑定到另一个电子表格的另一个 Apps 脚本项目中,那么使用库是除了添加在。如果您想在另一个电子表格中触发完全不同的功能,那就不同了。这是可能的,以间接的方式,但我不确定这是否是你真正想要的。

标签: google-app-engine google-apps-script google-sheets google-sheets-api


【解决方案1】:

要将脚本 #1 的库成功添加到脚本 #2,请执行以下步骤:

(1) 在File > Manage Versions...Save New Version 中创建脚本#1 库,如here 所述。

(2) 将脚本#1 的Script ID 复制到File > Project properties...不是Project key)。

(3) 使用在步骤 1 中创建的库:在脚本 #2 中,转到 Resources > Libraries... 并添加您在步骤 2 中检索到的 Script ID,如 here 所述。

更新:

将库添加到脚本 #2 后,您可以通过在步骤 3 中将添加到字段 Identifier 的单词写入来访问其功能。例如,如果库标识符设置为 YourLibrary 并且其中之一库中的函数称为 yourFunction,您可以通过编写 YourLibrary.yourFunction() 在第二个脚本中运行该函数。

希望对你有帮助。

【讨论】:

  • 感谢@lamblichus 提供的步骤——非常有帮助。我只是按照上面提到的步骤做了一切。我错过的最后一件事。如何从 sheet2 触发 sheet1 的功能?
  • 不客气@kuml。你能解释一下trigger function of sheet1 from sheet2是什么意思吗?
  • @kuml 我根据您的评论更新了我的答案。我不确定这就是你的意思。如果是这样,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2021-12-14
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多