应用程序脚本库在客户端自动更新(在文档刷新时)?

时间:2017-09-10 01:11:04

标签: google-apps-script google-sheets

我有

  • 应用脚本库'MyLib'。
  • 模板Google Spread Sheet('MyGSSheet')。通过脚本编辑器,我将库“MyLib”添加到“MyGSSheet”。我在'。
  • 上设置'开发模式'
  • 用户获得此模板的“副本”('MyGSSheet')。

我如何设置一个设置,其中我对“MyLib”所做的任何更改会自动在这些副本中被选中(一旦重新加载电子表格)?

我认为在'开发模式'''是所有Spreadsheets中持续更新代码所需的全部内容。 但是,我没有看到这种情况发生。副本没有选择最新的代码。 我还向公司域内的所有用户授予了“编辑”权限。

1 个答案:

答案 0 :(得分:1)

我无法评论,所以我希望我的贡献足以证明答案的合理性。

所以我试图重现这个:

我创建了一个独立的App脚本' MyLib'并写了一个函数:

function myFunction()
{
  SpreadsheetApp.getUi().alert("TEST");
}

接下来,我创建了一个电子表格,并通过工具向其添加了一个脚本。我打电话给它"电子表格脚本"。

在电子表格脚本中,我将MyLib添加为库,并在'上启用了开发模式。 我还为电子表格脚本添加了两个函数:

 function onOpen(e)
 {
   myFunction();
 }

 function myFunction()
 {
    MyLib.myFunction();
 }

好的,现在我将电子表格和MyLib脚本分享给了我的同事并拥有编辑权限。他打开了电子表格并得到了警告" TEST"。

现在,当我将警报文本从MyLib脚本的myFunction修改为" TEST 2"刚刚保存了文件(文件/保存,没有保存新版本),我的同事看到了电子表格中的变化。然后,我让他拿一份电子表格(测试电子表格所有者更改的效果)。 我将文本警告更改为" TEST 3"。这一变化反映在他的电子表格副本中。

您是否能够重现此问题,或者此方法无法为其他用户更新?我选择这种简单的例子,因为有时原因也可能存在于代码中......