两个人同时按下 Google 电子表格上的按钮会导致分配的功能发生冲突吗?

Posted

技术标签:

【中文标题】两个人同时按下 Google 电子表格上的按钮会导致分配的功能发生冲突吗?【英文标题】:Can two people pressing buttons simultaneously on a Google spreadsheet cause a *** with assigned functions? 【发布时间】:2021-05-21 22:05:12 【问题描述】:

我创建了一个共享的 Google 电子表格,上面有两个分配给功能的按钮。一个按钮旨在由一个人单击,另一个由另一个人单击。

每个按钮都会触发一个单独的宏,该宏将以增量方式更新相同的数据。两个宏不要同时运行非常重要,因为这会导致数据变得混乱。

如果两个人同时点击他们的按钮,这两个功能会同时运行还是会自动排队?有没有办法强制他们排队?

如果三个或更多按钮带有三个或更多宏怎么办?同时点击会自动排队吗?

请注意,我不想为用户创建“忙,再试一次”消息,我希望用户看不到任何排队过程。

【问题讨论】:

您可以使用LockService 来防止这种情况发生。 感谢马里奥斯,非常感谢您提供的链接。不幸的是,该页面没有明确说明如何使用它提到的命令。您能指出任何使用示例吗? 将两个功能放到同一个函数定义中,并使用锁服务确保一次只发生一个功能 谢谢你,库珀。需要明确的是,这是否会将功能排队,以便每个用户只需单击一次按钮,还是必须再试一次?排队是否会不可见,所以他们不会注意到? 【参考方案1】:

如果两个或更多用户同时点击一个分配了 Google Apps 脚本功能的按钮,将为他们每个人创建一个执行,他们可能会“冲突”。这取决于这些函数的作用。

为了防止这种情况,您可以使用锁定服务。

相关

Is there any way to guarantee order of execution? Or is there any way to cancel currently executing scripts? How to understand LockService and implement it correctly?

注意:在 Google 表格中,宏是一种特殊类型的电子表格自动化。它们是通过使用宏记录器创建的,方法是将 Google Apps 脚本函数作为宏导入。

【讨论】:

以上是关于两个人同时按下 Google 电子表格上的按钮会导致分配的功能发生冲突吗?的主要内容,如果未能解决你的问题,请参考以下文章

两键同时按下输入

在表格视图中按下单元格上的按钮时如何创建新单元格

怎么弄Google电子表格

Google 表格的静态 TIMESTAMP

从 Google 电子表格中获取 ID 或 URL

如何使用 Google Apps 脚本在电子表格中查找按钮的位置?