【发布时间】:2017-09-04 21:22:22
【问题描述】:
我有一个电子表格,其中有几个脚本附加到图像上,作为许多人使用的按钮。奇怪的是,每个工作簿中都有一组三个按钮,其中一个(每次都相同)总是“丢失”分配的脚本并再次变成图像。
我一直无法弄清楚是什么导致脚本与图像“分离”。我不能在这里分享具体的表格,因为它包含敏感信息,但如果它有帮助,我可以模拟一个类似的表格。主要想知道是否有人知道是什么导致脚本与按钮分离。我唯一的理论是脚本触发器可能会导致它,所以我只是关闭了触发器,我们将在接下来的几天里看看情况如何。
感谢并为含糊的问题道歉!
function tabs() {
var s = SpreadsheetApp.getActive(),
t = s.getSheetByName('Tabs'),
n = s.getSheets()
.map(function(s, i) {
return [s.getName()]
});
t.getRange('A1:A').clear();
t.getRange(1, 1, n.length, 1).setValues(n)
}
【问题讨论】:
-
你能至少分享一下脚本吗?如果您认为这无济于事,请创建一个新的电子表格,将脚本复制到那里,然后共享不含敏感数据的工作表。
-
应该想到的!我添加了脚本代码。它只是抓取工作表中的所有选项卡名并将它们弹出到“选项卡”工作表中。如果有任何帮助,那就是工作簿中的“第一个”按钮,但我不明白为什么会导致问题。
-
链接在什么情况下会丢失?是每次加载工作表时吗?每天?
-
还不能完全确定。它似乎没有时间限制,也没有特别与关闭后打开工作表有关。这可能与多人使用工作表有关,但这很奇怪,因为其他两个脚本按钮“粘”得很好。我可以重现该问题的唯一确定方法是右键单击按钮并下拉菜单选项,转到“分配脚本...”,然后“取消”而不更改脚本分配或清除它。然后它每次都解离。不过,这也发生在其他按钮上,所以不是问题。
-
我将函数重命名为与脚本“文件名”本身相同的名称,并稍微改变了代码的结构,使其与我完成其他脚本的方式更加统一。到目前为止〜4天后,这很有帮助,从那以后就没有这个问题了。我剩下的唯一理论是,这是由多人同时以某种方式访问和编辑电子表格造成的——这一理论将在周一人们再次登录以大规模使用时进行测试。
标签: google-apps-script google-sheets