【问题标题】:Custom functions not working in spreadsheet自定义函数在电子表格中不起作用
【发布时间】:2012-08-03 21:25:13
【问题描述】:

我已按照https://developers.google.com/apps-script/execution_custom_functions 的说明创建自定义函数。

我的函数甚至教程中的剪切和粘贴都不起作用:这些函数不适用于我的电子表格。我尝试保存版本并发布为网络应用程序 - 没有任何变化。我尝试了 Google Chrome 和 Firefox,结果相同。我在这里遗漏了一些非常明显的东西吗?

【问题讨论】:

  • 您是否尝试过使用脚本编辑器中的“运行”命令运行一次? (使用自定义函数时无需发布或制作版本)
  • 您是从电子表格中编写脚本还是作为独立脚本编写的?你应该把它写在你的电子表格中。此外,正如 Serge 提到的,您应该从脚本编辑器运行一次,以便提供任何必要的授权。
  • 当我运行脚本时,它会从上到下执行,直接进入函数而无需我调用它们。这失败了,因为从未将参数传递给函数。如果代码是: function doStuff(arg1, arg2) { if (typeof arg1 != "number") { throw "arg1 must be a number"; } 变量输出 = 1 + 1;退出; } 它会在投掷线上失败。这对我来说没有意义,因为我从未真正调用过该函数。
  • 灯亮了(慢慢地)。我找到了列出您要运行或调试的功能的下拉列表。这解释了为什么调用函数。它仍然没有让我有机会传递参数(我可以看到)。是否可以通过运行或调试菜单将参数传递给函数?
  • 或者只是刷新电子表格并重试:-)

标签: google-apps-script google-sheets custom-function


【解决方案1】:

您需要在自定义函数上方添加带有@customfunction 的注释。然后,Google 表格会将您的自定义功能添加到自动完成菜单中。

【讨论】:

  • 如果这是在自定义脚本的帮助页面中,那将是非常好的,目前只是说在脚本编辑器中编写一个函数,保存它,然后宾果游戏你现在可以通过输入 = 来使用它myFunction() 在一个单元格中。因为不,在您四处搜索并找到类似 StackOverflow 页面的内容并提供一些有用的建议之前,您才能使用它。
  • @DougLeary 我确定是的,它在自定义函数帮助页面中。
【解决方案2】:

不确定这是否是您遇到的...但发生在我身上的是,我没有在自动完成中看到我的自定义功能,我认为它不起作用。但是如果你只是在一个单元格中输入 =double(A1) (使用官方示例,假设 A1 中有东西......),它会计算!

【讨论】:

  • 同样的事情发生在我身上。您是否设法让它与自动完成功能一起使用?
【解决方案3】:

当您在单元格中输入时,您的 Chrome 弹出窗口设置是否确定 customFunction 是否自动完成?如果是这样,您将如何将其添加为设置中的允许例外?在电子表格的工具菜单下选中启用自动完成。

如果从脚本编辑器运行我的函数可以正常工作,但在单元格中输入=myCustomFunction=myCustomFunction( 时不会自动完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-06
    • 2012-08-12
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多