【问题标题】:Problem loading Google App Scripts Library - get unknown function error加载 Google App 脚本库时出现问题 - 出现未知函数错误
【发布时间】:2021-03-04 18:17:34
【问题描述】:

我正在尝试将库添加到我的 google 表格脚本中。我可以添加它们,但尝试在我的工作表中使用它们时,我收到“未知功能”错误。

例如,在我的项目的应用脚本中,我添加了 LodashGS v6。我可以单击库选项并选择“在新选项卡中打开”并可以看到库的函数,在这种情况下,LodashGS 有一个名为 load 的函数,它加载了完整的 lodash 库。当我在工作表中使用 LodashGS 时,出现“未知函数”错误。

我已将const _ = LodashGS.load(); 添加到 Code.gs 文件中,这应该可以让我访问工作表中的下划线。但是使用 _ 会出现同样的错误。

如何访问这些库。我觉得我错过了一个小细节,但看不到它。

这是我正在使用的 google 表格的链接 - https://docs.google.com/spreadsheets/d/1vCkvohhecgSNEt5ybznDIRyzT70lDLz3TWxU-i2VwgQ/edit?usp=sharing

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    问题:

    您不能直接以custom functions 的身份使用 Apps 脚本方法(包括来自导入库的方法)。您必须在 Apps 脚本中定义一个函数才能将其用作自定义函数。

    此外,您可以访问functions,而不是variables。比如在做const _ = LodashGS.load();的时候,_是一个变量(其实是一个常量!但是重点还在),不能作为自定义函数使用。因此,_.now() 无法识别。

    自定义函数实际上对使用的函数语法是严格的。如您所见in the naming guidelines

    自定义函数的名称必须使用 function myFunction() 语法声明,而不是 var myFunction = new Function()

    (显然也允许使用箭头函数语法,因此本文档可能会被更新,但重点仍然存在)。

    解决办法:

    如果您想将方法用作自定义函数,请将其包装在函数中。您可以使用function 关键字,就像您已经为getTime() 所做的那样,或者arrow functions,例如:

    const getTime = () => LodashGS.load().now();
    

    注意:

    请注意自定义函数的名称不能以下划线 (_) 结尾(请参阅之前引用的命名指南)。

    【讨论】:

      猜你喜欢
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多