问题标签 [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 投票
0 回答
6640 浏览

google-sheets - 允许访问工作表的每个人的 Google 表格脚本权限

我知道有很多与 Google Scripts 相关的问题,其中一些涉及我的问题,但我似乎无法找到完整的答案。

我只希望能够在同一个项目文件中为 1 个电子表格运行 1 个或 2 个脚本。如何在不强制每个用户完成允许授权的过程的情况下为共享工作表的每个人授予权限?这可能吗?

也许有替代脚本?这是我的脚本(以防万一):

0 投票
1 回答
71 浏览

qr-code - 应用程序脚本错误 - 将 QR 码公式添加到脚本

我正在使用下面的脚本添加一个二维码公式,复制到我的谷歌表格中。它显示错误:

“参数列表后缺少 )”。

我试图寻找这个但没有找到答案。

期待你们的回音!

0 投票
1 回答
77 浏览

google-apps-script - Google App Scripts - 自动发送电子邮件(特定问题删除行和 appendRowL)

我正在尝试使用 Google App Scripts 为我发送我编写的 HTML 电子邮件。我的代码工作到可以发送电子邮件的程度,但是正如您在我的代码中看到的那样,我有 4 个不同的模板要发送。. 正如您将看到的,我有一些代码将模板更改为 1 以找到正确的模板和 dateMath 以增加下一封电子邮件发送的日期。

我现在遇到的问题是 deleteRow 和 appendRow。我有 2 个用户正在尝试通过电子邮件发送,当我运行代码 deleteRow 和 appendRow 时,将其中一个用户替换为另一个用户。我的屏幕截图会更有意义。这里有什么见解吗? 脚本之前

脚本之后

0 投票
1 回答
3198 浏览

google-apps-script - 如何复制 Google 工作表并保留其项目触发器和脚本?

我目前有一个用作主模板的 Google 表格。也就是说,我正在为每个请求制作此模板的副本。我想在我的主模板中添加一个谷歌应用脚​​本(当工作表完成时,它会在我的服务器上发布),该脚本将被复制并针对该模板的每个副本运行。

我已经尝试从管理员帐户执行此操作,但是,脚本似乎并没有“坚持”任何模板。这可能吗?

0 投票
1 回答
103 浏览

google-apps-script - “谷歌电子表格”选择范围以填充脚本编辑器中的边框(简化我的代码)

我写了一些代码来自动填充边界线。问题是我想根据第一个空单元格的位置使用特定范围的单元格。我可以让代码适用于特定的单元格,但不适用于某个范围。

请帮我简化代码

0 投票
1 回答
17 浏览

google-sheets - 通过对话框运行时停止脚本

我正在使用脚本来保存数据并随后清除字段。因为正在清除这些字段,所以我希望用户(通过弹出窗口)验证他是否真的想要执行此操作。我尝试使用带有ok_cancel按钮的警报,但是当您取消时,脚本会继续。

获取用户响应的代码:

0 投票
1 回答
503 浏览

google-apps-script - 无法在 GAS 编辑器上切换谷歌云项目

0 投票
1 回答
103 浏览

javascript - 谷歌应用脚​​本数组问题

我正在开发一个将 xml 数据加载到函数中并根据用户输入解析数据的应用程序脚本。

xml 简单明了:

该函数采用 XML 并将数据加载到对象数组中,并尝试根据用户名解析数据并将内容显示为谷歌表格中的一行。

问题是当函数运行时,什么都没有返回。我可以让工作表显示没有对象的数组内容,但不能显示过滤后的输出。

谢谢你的帮助!

0 投票
1 回答
141 浏览

google-apps-script - 如何使用 Google Apps 脚本保护范围不受 Google 表格的创建者/所有者的影响?

我开发了一个 Google 应用程序脚本,我在其中基于模板生成新的 google 工作表。复制 Google 表格后,我们正在使用 setOwner 方法将所有者更改为指定的电子邮件地址。要求是保护范围,因此我们使用 getRange 方法选择范围,然后调用protect() 方法和 setDescription 来显示保护范围描述。

问题是我们不希望运行此脚本的人拥有编辑权限。因为他/她是创建者,所以我们尝试更改所有者并使用 removeEditor,但它似乎不起作用。

想法:是否可以模拟另一个用户运行的文件副本,使得运行脚本的人无权访问。

0 投票
1 回答
595 浏览

javascript - 确定在自定义菜单中单击了哪个项目

我创建了一个包含多个项目的自定义菜单,但是我很难确定用户单击了哪个项目。我想对该菜单中的每个项目使用相同的功能,但我不知道如何将哪个项目的信息传递到我的功能中。我有过但无法实现的多个想法是:尝试在按下按钮时传递参数(参数可以是按钮的名称或其索引),或尝试以某种方式确定单击了哪个项目按索引(即“单击第 3 项”)并将该信息传递给函数。

此代码当前所做的是,当打开电子表格时,会创建Scripts一个名为的菜单,其中包含一个名为Timestamps. 在子菜单时间戳中,每张纸都有一个项目。目的是当用户单击其中一项时,会出现一个带有 3 个按钮的弹出窗口:是、否和取消。如果他们按是,则该项目应该被添加到数组工作表中。如果他们按否,则该项目应该被删除。如果他们按取消,则不会发生任何事情。到目前为止,如果它们在代码中指定了特定的工作表,我可以添加和删除项目,但是我怎么能得到它,以便我可以对每个项目使用相同的函数并传递参数表(取决于哪个项目是点击)进入功能表。

如果我在不将参数传递给函数的情况下对工作表名称进行硬编码,则代码的功能示例: