电子表格中的google app脚本-从库中加载自定义函数时,单元格不会刷新

时间:2019-07-25 09:57:52

标签: google-apps-script google-sheets

我正在制作多个电子表格,彼此之间共享自定义功能。 结构是这样的:

主文件-存储名为“ COUNTPROVISION”的函数。此功能被称为

的多个文件继承

子文件1 子文件2 子文件N

每个子文件都可以访问COUNTPROVISION函数,这当然是自定义函数。 COUNTPROVISION需要多个参数,每个子文件具有不同的参数。一切运行正常-子文件从库中触发COUNTPROVISION,而库是从主文件继承的。使用该系统,我可以更改主文件中的自定义功能,并且所有子文件都立即使用相同的,已更改的功能。那很好。

现在,在我的主文件中,我确实希望以表格样式从所有子文件中获取累积数据。因此,我使用IMPORTRANGE下载了它们-COUNTPROVISION计算出的数据从子文件到主文件。到目前为止,一切都很好。

因此,子文件继承了自定义功能并正确计算了数据。 我的主文件将数据从子文件下载到累积表。

但是一段时间后,我发现我在主文件中的累积数据具有#NAME而不是先前计算的数据。 签入子文件后,我发现使用COUNTPROVISION自定义函数的单元格需要从主文件中加载该函数。需要一段时间,它是#NAME,稍后是LOADING,最后是正确的值。 因此,我的累积表下载的值是#NAME,并且不会刷新。

我找到了一个解决方案-我只需要打开子文件,当它加载函数并重新计算时,我的累积表将变为正确的值。但是我无法打开所有子文件来每次重新计算。

问题是:如何使Google电子表格(或应用脚本)刷新子文件中的数据(并加载所有自定义函数),以便主文件具有正确的数据而不是#NAME

此功能在子文件中的外观:

function COUNTPROVISION(a, b, c, d, e, f, g, h, i, j) {

  var result = main.COUNTPROVISION(a, b, c, d, e, f, g, h, i, j);
  Logger.log(result)
  return result;
}

0 个答案:

没有答案