问题标签 [custom-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11019 浏览

google-apps-script - 自定义函数在电子表格中不起作用

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

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

0 投票
2 回答
7332 浏览

google-apps-script - Google Apps 教程:您的第一个自定义函数

我对谷歌应用程序脚本相当陌生,在尝试“你的第一个自定义函数”教程时遇到了这个问题。

我试图了解谷歌应用程序脚本中“投掷”功能的用法。它如何能够在我的第 3 行中产生“输入必须是数字”,而第 5 行和第 6 行会产生其他一些结果?

0 投票
1 回答
1417 浏览

google-apps-script - 电子表格中自定义函数的权限

我在 Google 表格中使用电子表格的一项新功能:“命名和受保护范围”。在这个受保护的单元格范围内,我使用算术内置函数和我自己编写的函数。运行我的函数的触发器在编辑电子表格上。

具有写入权限的用户共享电子表格的链接,由于权限问题而无法正常运行我的函数,而内置函数正常运行。

我自己可以授予我的函数作为 Google 表格内置函数运行的权限。

0 投票
3 回答
16299 浏览

google-apps-script - 将单元格引用传递给电子表格函数

当我调用电子表格函数时,例如int(f2),该函数对单元格中的值进行操作。如果cell("F2")包含 3.14159,结果将是 3。但是当我调用不同类型的函数时——例如:row(f8)——函数获取单元格引用,而不是值,在这种情况下,返回 8。

如何让我的自定义函数与引用而不是值一起使用?

我可以传递一个字符串,然后使用getRange(),但是,如果我移动或更新工作表上的单元格,则字符串不会改变。

非常简单的例子:

在我的工作表代码中,我可以像这样检索 C4 中的公式:=GetFormula("C4")

但是,这个参数是一个字符串,我宁愿传递一个单元格引用。一个更复杂的问题要求调用单元格在复制和粘贴时进行更新。

有任何想法吗?

0 投票
1 回答
2163 浏览

google-apps-script - 在自定义函数中访问单元格坐标

有没有办法访问传递给我的函数的单元格的单元格坐标(以 A1 表示法)?

例如,如果我的功能是这个

我将以下内容放在单元格 B4 中:

我希望看到这个:

但我实际看到的是这样的:

(“堪萨斯”是C6的实际单元格值)

我知道这似乎很容易......我只是试图让它发挥作用。

谢谢~!

0 投票
2 回答
1726 浏览

google-apps-script - 谷歌电子表格自定义功能:如何获得持续更新的值?

我在与我的谷歌文档电子表格关联的脚本中编写了一个自定义谷歌应用脚​​本函数。该函数调用第三方服务来获取数据。我可以把函数放在一个单元格中:

它从服务返回正确的值。但是,我怎样才能保持这个值更新,以便它显示来自服务的最新数据?

更新

例如:

用于获取给定邮政编码中的当前温度。此外,我的工作表可能有几十个或几百个,所以我更喜欢高性能和可维护的东西。它并不真正需要是连续的,每分钟轮询一次或更频繁地轮询可以工作。我想知道脚本是否有某种方法可以设置计时器以运行以更新一系列单元格?

0 投票
2 回答
14105 浏览

google-apps-script - 服务调用次数过多(Google Apps 脚本)

我想使用 Google Apps 脚本为电子表格制作自定义函数。我做了一个非常简单的功能:

问题是我需要在几百个单元格中使用此功能。当我将函数粘贴=foo()到所有这些单元格中时,该函数在一些单元格中工作,但在大多数情况下,我收到此错误:“服务调用次数过多:电子表格。Utilities.sleep(1000)在调用之间尝试。”

[此处截图]

我想我不明白为什么这个简单的函数被认为是对电子表格服务的调用。我什至没有请求任何数据(函数本身除外)。那是问题吗?如果是这样,是否有解决方法?自定义函数可以使 Google 电子表格功能无限强大,但这个问题阻碍了在多个单元格中使用自定义函数的可能性。建议?

(PS——Utilities.sleep()当所有单元格同时调用它们的函数时,使用错误消息建议的函数根本没有帮助;它只会减慢单个单元格重复调用函数的速率。)

0 投票
3 回答
4188 浏览

google-apps-script - 使用 FORMATTING 合并表格的 Google Apps 脚本

有谁知道那里是否有一个谷歌应用程序脚本可以做 VMerge 所做的但保持表格的格式合并在一起?(在 Google 电子表格中)

VMerge 是一个可以用作自定义公式的脚本,但我可以自己触发的脚本也可以。

任何帮助将非常感激。

0 投票
3 回答
3035 浏览

google-apps-script - 如何将“自定义函数帮助”添加到谷歌电子表格。- 不是脚本编辑器

可以将“自定义功能帮助”添加到谷歌电子表格吗?即,如果我在电子表格单元格中键入 =sum,我会得到浮动帮助文本,有没有办法使用自定义函数来做到这一点?

谷歌应用程序脚本中的文档是使用 JSDoc http://en.wikipedia.org/wiki/JSDoc 样式(类似 JavaDoc)的注释创建的。如此处 所述 https://developers.google.com/apps-script/guide_libraries?hl=en#guidelines

看起来这些仅在脚本编辑器中有效。它有一种添加文档的方法,因此它出现在电子表格上。

0 投票
2 回答
1911 浏览

google-apps-script - 自定义函数权限

我正在尝试为 Google 表格编写一个自定义函数,但我遇到了左右权限错误。只是为了让事情开始,我在左上角的单元格中输入了这个:"=testFunction()". 在函数中,我尝试根据用户突出显示并选择一行,结果遇到了以下问题:

  1. 我没有调用该Session.getActiveUser()方法的权限,所以我不能根据访问文档的用户做任何事情。此外,该getUrl函数不会返回实际的 URL,因此在末尾添加“#Jeff”之类的内容是行不通的。注意:我最终确实解决了这个问题,因为令我惊讶的是,该Spreadsheet.getViewers功能有效。
  2. 我没有运行该Spreadsheet.setActiveSelection()功能的权限,所以我无法选择一行。
  3. 如果我从单元格 A 运行该函数,我无权更改单元格 B 的背景。这意味着我需要将损坏的突出显示功能放在每个要更改颜色的单元格中。

查找如何做某事,对其进行测试,然后看到权限错误四分之三弹出,这令人沮丧。

考虑到我是此文档的所有者,有什么方法可以更改我有权执行的操作吗?

如果没有,是否有关于我可以运行哪些功能的文档?