Kal*_*reg 2 google-apps-script google-cloud-platform
首先,我花了 3 个小时阅读了有关谷歌云、发布、项目等的文档。经过多次尝试,我意识到我错过了一些东西,所以这是我的问题。
我有两个电子表格,我们将其称为“价格”和“成本”。我想要实现的是,它们共享相同的应用程序脚本,如果我更改一个脚本,因为它是由两者共享的,所以它会在几秒钟内自动更改。
因此,我确实创建了一个应用程序脚本,该脚本在单元格中返回一个字符串(只是为了简单起见),并将其命名为 STRINGFUNCTION(); 是在 PRCES 电子表格中创建的。我的目标是让它在 COSTS 文件中工作,而无需手动输入。我预计,如果我单击“资源”>“云平台项目”并将两个电子表格中的两个应用程序脚本添加到同一项目中,它将自动运行。好吧,它不会 - 如果我在单元格中写入 =STRINGFUNCTION() 的价格它工作正常,而在成本 - 它表示该功能未知。
我怎样才能实现这一点,以便它在我的两个文件之间工作,并且如果它们都在同一个项目中,它们共享相同的功能?
您可以通过将代码放入独立脚本中并将其用作库来实现此目的。
https://developers.google.com/apps-script/guides/libraries
执行此操作的方法如下:
如果您的函数名为 STRINGFUNCTION(),请在本地应用程序脚本中创建一个函数,如下所示:
function STRINGFUNCTION(parameter) {
return libraryName.STRINGFUNCTION(parameter);
}
Run Code Online (Sandbox Code Playgroud)
对库中要使用的每个函数执行此操作并保存代码。如果您尚未授予脚本权限,则需要授予该权限。现在,自定义函数应该可以在您的电子表格中使用。将此“传递”脚本复制并粘贴到您希望能够从库访问自定义函数的每个工作表。
库内的自定义函数不能直接从工作表调用。您只需设置此本地脚本即可传递函数一次。现在,如果您更新库中的脚本,更新后的函数将可用于工作表。每次对库进行更改以发布更改时,您都需要执行部署集。如果更改在工作表中不起作用,请单击本地脚本中的“库”,并确保版本是 Head 或您发布的最新版本。
| 归档时间: |
|
| 查看次数: |
1999 次 |
| 最近记录: |