我有一张Google表格。我开发了一个操作此工作表的Apps脚本。 Apps脚本有很多不同的文件:一堆GS文件和一堆HTML文件。 当我复制Sheet时,我注意到函数:
var SCRIPT_PROJECT_KEY_CELL_INDEX = "B2";
var SettingsSheet = "Configuration Settings";
var settings = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SettingsSheet);
var PROJECT_KEY = settings.getRange(SCRIPT_PROJECT_KEY_CELL_INDEX).setValue(getScriptProjectKey());
在Sheet的原始和副本中返回相同的值。 我还注意到代码编辑器文件菜单下的“制作副本”选项。当我创建代码本身的副本时,它似乎创建了一个副本 - 但是将副本链接到哪个电子表格?
我的问题是如何确保当我向其中一个客户发送Google Spread Sheet时,与该工作表相关联的脚本也会被发送,我的客户所做的任何更改或修改都不会影响我的原始工作表和与之相关的脚本。
答案 0 :(得分:0)
如果您已创建an embedded app script
,则共享电子表格将导致共享应用脚本代码。
但是,如果您创建了standalone app script
并将其链接到电子表格,那么共享电子表格是不够的,您还必须共享应用脚本。
在应用程序脚本代码中,如果您使用它的键引用了电子表格,那么在制作副本后您将不得不更改该部分,否则它将继续引用上一个键。如果您使用了其他键,例如项目ID和其他需要在相应地进行复制后需要更改的键,情况也是如此。