【发布时间】:2021-05-24 08:53:07
【问题描述】:
有一个带有绑定 Apps 脚本的 Google 表格。应用自定义格式等的功能之一(由我前段时间编写)由安装的 onEdit 触发器(由客户端安装)触发。到目前为止,这一切都很好。
电子表格所有者(我的一个客户)最近抱怨说,当他在单元格中输入任何文本时,它旁边的单元格将自动被“FALSE”覆盖,当他编辑“FALSE”时,第一个单元格被“FALSE”覆盖,这根本没有意义。
我检查了原始脚本,它看起来仍然很好,它不会导致这种自动创建混乱。为了确保我没有遗漏任何东西,我检查了,只有一个已安装的触发器,并且绑定脚本中没有其他简单的 onEdit 函数。
我还临时更改了已安装的 onEdit 触发器启动的函数的名称以禁用触发器。尽管现在编辑无法在绑定脚本中运行任何功能,但自动混乱仍然处于活动状态,并且在用户编辑时自动覆盖了某些单元格。
这让我怀疑外部未绑定脚本(也可能是绑定到具有计时器触发器的另一个电子表格的脚本)可能是罪魁祸首并造成了所有混乱。
我的问题是,是否有办法识别更改工作表的任何外部脚本(未绑定到此电子表格)?
在这种情况下,我无法提供任何代码或向您展示电子表格/脚本,因为它是机密的,属于客户。我也无法向您展示我尝试过的任何代码。只有上面的解释我是如何试图定位问题的根源的。
另外让我补充一下,在这种情况下,不止一个人在我不知道他们是谁的背景中弄乱工作表和脚本。因此,有可能一些流氓团体试图故意破坏我的工作(如果没有别的,那就是恶作剧)。
UPDATE_1
我已经制作了电子表格的副本,然后验证了已安装的触发器页面,并且没有安装任何触发器。
接下来,为了绝对确保我的任何脚本都不会导致问题,我删除了所有脚本。只剩下一个空项目,仍然与最初的名称相同。保存了空项目。重新加载电子表格并再次测试。
问题依然存在:当我编辑行为不端的单元格时,它旁边的单元格会自动变为“FALSE”。
我还确保这些列中不存在 ARRAYFORMULA。
【问题讨论】:
-
可以分享一下onEdit功能吗?另外,电子表格的共享设置是什么?
-
如原帖所述,我无法分享脚本。即使我会分享它,也没有什么区别,因为安装的 onEdit 触发器运行的功能被禁用,问题仍然存在。该问题不是由我为 onEdit 触发器提供服务的旧函数引起的。共享设置为受限。该电子表格归我的客户所有,我是一名编辑,还有另外两个编辑电子邮件地址(无论如何可能属于所有者)。
-
您看不到正在编辑工作表的脚本。您可以做的最好的事情是检查版本历史,看看谁将单元格编辑为 FALSE,至少将罪魁祸首限制在拥有脚本的人身上。
标签: google-apps-script google-sheets triggers