问题标签 [google-apps-script-editor]

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 投票
1 回答
1528 浏览

javascript - HTMLElement.click() would not fire an expected event

I try to use some simple native javascript code, in order to simulate a user click on a button at script.google.com:

When I do it, nothing really happens, but when I really click on this element (#runButton), I can see a popup shows up.

It might have something to do with the fact that #runButton is a div, cause when I do the same with anchor() elements, it works.

Any ideas what I can do to better simulate this click? Something specific about google apps script editor that prevents me from doing it?

0 投票
3 回答
12715 浏览

google-sheets - 如何在行中获取所有非空单元格数据 - Google Sheets Script Editor

我不确定这是否可能,老实说,我没有尝试过很多事情,因为我什至不知道从哪里开始。我正在使用 Google 表格中的脚本编辑器,顺便说一句。我知道有 SpreadsheetApp.getRange() 和另一个来获取值或类似的东西。但我想要的有点具体。

有没有办法抓取给定行中的所有单元格数据并将其放入数组中?行的大小会有所不同,这就是为什么我不能做一个确切的范围。

因此,例如,如果我要让行具有这些值:

我希望能够获取这些值并将它们放入像 ["abc", "123", "987, "efg"] 这样的数组中。然后如果我在下一行运行该函数,它将是 [ “废话”、“猫”、“654”]。

实际上,只要有我可以使用的分隔符,它就可以放入任何数据类型。

先感谢您!

0 投票
0 回答
334 浏览

google-apps-script - 谷歌脚本基于另一个更改单元格值

有人可以帮帮我吗。我以前没有使用过脚本,但看起来我必须要解决这个特殊问题。

电子表格 1 列 C 从电子表格 2 查询并且不可编辑。

电子表格 1 列 B 是可编辑的,它的数据返回到 SH 2。

电子表格 1 - 如果 C 列上的数据更改为空白,我希望 B 列也变为空白,但仍保留数据验证列表以供将来选择。

数据删除前 在此处输入图像描述

问题 - 单元格应该清除 在此处输入图像描述

期望的结果 - 细胞是透明的! 在此处输入图像描述

0 投票
1 回答
312 浏览

google-apps-script - 访问 Google 表格电子表格的脚本

我有一堆用于 Google 表格电子表格的自定义函数(通过工具 -> 脚本编辑器访问...),它们运行良好。在某些时候,我决定通过保存脚本副本来备份我的功能。现在,当我单击 Tools -> Script Editor... 我得到:

选择要打开的项目

我的电子表格的副本 我的电子
表格

创建一个新项目

电子表格现在以不可预知的方式在两个脚本之间交替,使用相同功能的旧版本,然后切换。我如何指定它应该使用哪一个?我什至无法弄清楚如何删除其中一个。

0 投票
1 回答
1073 浏览

javascript - Session.getActiveUser().getEmail() 不返回任何值

这是我的第一个 Stackoverflow 问题,所以我正在尽我所能在这里清晰和结构化,但请原谅我初学者的错误:)

所以我对谷歌的脚本编辑器有一点问题,基本上我正在调用Session.getActiveUser().getEmail()以及Session.getEffectiveUser().getEmail()函数但它们都没有返回一个值。

这是我正在使用的完整代码:

然而我得到的输出总是一样的: 工作表中的输出

奇怪的是,这发生在几天前,在此之前相同的功能运行良好。

有人经历过这样的事情吗?是否有解决方法可以在脚本编辑器中获取邮件地址或用户名?

谢谢和最好的问候!

0 投票
0 回答
48 浏览

google-apps-script - Google Apps 脚本发布的插件停止工作后更改

我在网上商店中为 Google Docs 发布了一个附加组件。我也能够对其进行更改并在过去几次重新发布到网上商店。

但是当我最近对附加组件进行更改时,它不允许我再次作为附加组件进行测试。我得到的唯一错误是:

“将脚本作为插件进行测试时出现问题。请稍后再试。”

我在 Google 的问题跟踪器中看到已经报告了此类问题,但是对于删除正在测试的工作表的 Google 工作表的附加组件导致了问题。

https://issuetracker.google.com/issues/36763685

在将代码复制到已发布的附加组件之前,我使用了不同的 Apps 脚本项目来测试代码。现在我也无法获得选择文档屏幕。

如果复制并作为附加组件运行相同的应用程序脚本项目,它可以正常工作,但不是发布版本。由于这已经是一个网上商店发布的附加组件,我需要使这个版本工作。

任何指针都会有很大帮助。谢谢!

0 投票
1 回答
1046 浏览

google-apps-script - 实时数据添加新行后立即发送电子邮件警报

我是 Google 表格和脚本的新手。我已经设置了一张表来使用 IMPORTHTML 函数获取实时数据。我正在尝试设置一个脚本并触发在 (**@gmail.com) 向我发送包含新行信息的电子邮件,只要将一个或多个新行添加到实时工作表的底部。那可能吗?我尝试使用基于时间的触发器编写代码,以检查是否添加了新行。

以下是我目前拥有的代码。两个问题: 1. 这是每分钟向我发送电子邮件,而不是仅添加新行 2. 这是向我发送总行数而不是添加的新行的信息(我需要它向我发送所有详细信息添加新行中的单元格)

提前非常感谢。

0 投票
0 回答
47 浏览

google-apps-script - 一个 google sheet 可以有多少个 google scrip 文件

你知道一个 google sheet 可以有多少个 google scrip 文件吗?我为 google sheet 创建了 9 个 google scrip 文件(每个文件做不同的工作)。但是,当我运行其中一个时(我在脚本编辑器的界面打开了这个文件),它运行了另一个我没有打开的脚本文件。那么,我怎样才能运行我想运行的那个呢?或者谷歌表格对脚本文件的数量有配额?

谢谢

0 投票
1 回答
2095 浏览

google-apps-script - 如何读取保存在文件/项目属性菜单中的用户属性?

在 Google Apps 脚本编辑器中,我可以通过打开文件 > 项目属性菜单,然后选择“用户属性”选项卡来设置用户属性。但是,PropertiesService 似乎无法访问此菜单中设置的值。有没有办法在我的脚本中访问通过此菜单设置的值?

  1. 在“用户属性”选项卡中设置 {"propertyA", "valueA"}(如下图所示)

  2. PropertiesService.getUserProperties().getProperties()

  3. 输出:{}

如果我要运行PropertiesService.getUserProperties().setProperty("propertyB", "valueB");然后getProperties()再次运行,输出将更新为仅显示{propertyB=valueB}.

同样,当我的搜索都将我定向到 PropertiesService 时,我在哪里可以找到有关这些菜单属性的文档?(具体来说,我想知道何时应该使用菜单选项而不是以编程方式设置值。)

0 投票
0 回答
1507 浏览

google-apps-script - 在谷歌表格中运行公式时如何打印到控制台(使用 Logger.log)

在谷歌表格中运行公式时尝试使用 Logger.log 打印到控制台时,不会记录任何内容。我怎样才能解决这个问题?我正在尝试在我的代码的这一部分中执行此操作:

代码: