【问题标题】:How to uncheck all checkboxes on two separate rows in google sheets如何取消选中谷歌表格中两个单独行上的所有复选框
【发布时间】:2023-02-26 10:15:29
【问题描述】:

我有一个电子表格,可用作救护车上的检查表。有两行有复选框,我希望能够有一个按钮或一个复选框,并设置一个触发器将它们变为 false。我开始使用它,它在我第一次使用它时就起作用了,但是当我创建一个按钮并分配脚本时它就不再起作用了。

function uncheckAllCheckboxes() {
   var range = SpreadsheetApp.getActive().getRange('A2:A45');
   var range = SpreadsheetApp.getActive().getRange('D2:D45');
   range.uncheck();
}

我在单元格 A2 到 A45 中有复选框,在 D2 到 D 34 中也有复选框。我以为我已经弄明白了,但我仍在学习。任何帮助,将不胜感激。

【问题讨论】:

  • 我将代码更改为以下内容: function uncheckAllCheckboxes() { var range = SpreadsheetApp.getActive().getRange('A2:D35');范围.取消检查();这得到了除 A39 到 A45 之外的所有内容。我不确定为什么那些没有被取消检查?

标签: checkbox


【解决方案1】:

我相信您的代码不起作用的原因是因为您已将“范围”变量重新定义为第二个范围。这意味着不再引用第一个范围。

相反,您应该考虑使用“union()”方法将“范围”定义为两个范围的并集,然后取消选中该并集范围内的所有复选框。

试试下面的代码:

function uncheckAllCheckboxes() {
   var range1 = SpreadsheetApp.getActive().getRange('A2:A45');
   var range2 = SpreadsheetApp.getActive().getRange('D2:D45');
   var unionRange = range1.union(range2);
   unionRange.uncheck();
}

上面的代码将“range1”和“range2”定义为复选框的两个独立范围,并且还使用前面提到的“union()”方法将“unionRange”定义为这两个范围的联合。 这允许取消选中所有复选框,而不是取消选中它们 - 在“unionRange”中使用“uncheck()”方法。

此外,如果这对您有用,您可以将“uncheckAllCheckBoxes()”函数分配给一个按钮并触发它。

【讨论】:

    猜你喜欢
    • 2013-10-17
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2020-05-21
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    相关资源
    最近更新 更多