【问题标题】:Google Appscript - function could not be foundGoogle Apps 脚本 - 找不到函数
【发布时间】:2015-01-07 13:52:45
【问题描述】:

我有一个简单的电子表格绑定脚本,如下所示

var document = SpreadsheetApp.getActive()

function onOpen() {

  var menuEntries = [];
  menuEntries.push({name:'Archive',functionName:'startArchive'})
  document.addMenu("Custom", menuEntries)
}

function startArchive() {

  Logger.log("Will Start Archive")

}

所有脚本都绑定到电子表格。

当我重新加载电子表格时,我可以看到带有“存档”的自定义对话框菜单,因为它是下拉菜单。当我单击存档时,而不是调用“startArchive()”函数,我收到错误

script function startArchive could not be found

我已经搜索过类似的问题,但是当用户想要从库中调用函数但不在绑定脚本中时,他们会遇到这样的问题。

我无法弄清楚为什么我在这个简单的函数中找不到错误。

谢谢

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    刚刚遇到这个问题,因为我也有一个电子表格绑定脚本,在正常工作几天后突然抛出同样的错误。

    为了解决这个问题,我将引发错误的“函数”重命名为其他东西,例如“function1”,保存它并以新名称运行。

    之后,我将给出错误的函数名称从“function1”改回“function”,再次点击保存按钮,瞧,脚本又像往常一样开始工作了。

    【讨论】:

      【解决方案2】:

      您的代码是正确的,并且可以在新工作表中正常工作。在极少数情况下,我在自己的代码中看到过类似的行为,解决方案是等待一段时间,或者将代码复制到新工作表中并从那里开始工作。

      根据我的经验,当我将一个全新的脚本复制并粘贴到现有脚本之上时会出现此问题,但我发现它的发生根本没有明确的原因。

      我对这个问题的原因的猜测是,有时脚本和工作表会以某种方式不同步。由于 Google 的基础架构广泛分布在许多服务器和数据中心,因此有时正在执行的代码存储在与您在编辑器中看到的代码不同的地方是有道理的。

      为了强调这种情况的罕见性,在过去的 3 年中,我每天都在工作中使用 Google 表格中的 Apps 脚本,但我看到这种情况总共发生不到 10 次。

      【讨论】:

        猜你喜欢
        • 2016-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-05
        • 1970-01-01
        • 2016-12-13
        • 2021-01-10
        • 1970-01-01
        相关资源
        最近更新 更多