应用脚本自定义功能 - 内部错误

时间:2015-07-14 08:38:30

标签: javascript google-apps-script

我刚刚开始玩Apps脚本。我打开了一个新的电子表格,访问了脚本编辑器,并编写了以下简单的函数:

function DOUBLES(num) {
  return num * 2;
}

然后我保存了脚本,刷新了浏览器并在单元格中使用了我的功能:

=DOUBLES(1)

正确的答案(2)出现在单元格中,所以我用2替换了我的1参数。这就是它变得奇怪的地方。在更改了所述参数后,我得到了一个#ERROR答案:“执行自定义函数时出现内部错误。”但是,当我将参数更改回1时,错误仍然存​​在。然后,当我决定再次尝试2时,我得到了正确的4响应。经过多次尝试,刷新/更换我的电子表格,并且我的头脑太多了,我要离开战壕,我不确定为什么我的功能只在30%到50%的时间内工作。我已经尝试过其他单元格,其他参数数字等等。对于我是否会得到答案或错误似乎是一种折腾。

3 个答案:

答案 0 :(得分:4)

最近出现了处理Google Apps脚本自定义功能的错误。

这显然是Issue 5222的主题。 (我说“显然”,因为该问题报告并不是很清楚。但还不够好。)明星就可以获得更多关注,并接收更新。

答案 1 :(得分:4)

根据Google's documentation

  

自定义函数调用必须在30秒内返回。如果没有,单元格将显示错误:执行自定义函数的内部错误。

这确实是我的情况,经过一段时间的代码优化后,我将错误的发生率减少到了10%。

答案 2 :(得分:1)

以防它为其他人节省一些时间来追踪此错误的原因(在 2021 年相当罕见):

我从另一个电子表格复制的工作表上的许多(但不是全部)自定义函数返回了 Internal error executing the custom function 错误响应。

我没有尝试**改变这种行为,而且功能都非常小/快速,所以不是 30 秒超时。

最终奏效的是复制整个电子表格;副本中的功能正常,所以我只是将原件移至废纸篓并重命名原件。

** 我尝试过:重命名函数并调用它们;添加和测试新功能;制作脚本文件的副本并删除原始文件;将工作表的副本粘贴在第一个副本上;在目标电子表格中制​​作源工作表的新副本 - 最终都返回了相同的 Internal error executing the custom function 错误。也许复制的代码仍然以某种方式链接到绑定脚本,但无法访问?