Dav*_*eB1 7 checkbox google-sheets google-apps-script
我有一个 Google 电子表格,其中 A 列的每一行都有复选框。我编写了一个脚本来在复选框被选中的所有行上执行一个函数,但我想在最后添加一个重置函数,以便在脚本运行后再次取消选中所有选中的框。
我试过使用这样的 for 循环:
var dataRange = sheet.getRange('A3:A');
var values = dataRange.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == true) {
values[i].setValue(false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用,因为我收到错误。
有谁知道如何做到这一点?
这个改装怎么样?我认为针对您的情况有几种解决方案。因此,请将此视为其中之一。
values[i].setValue(false);。values[i]是一个数组。请使用范围为setValue()。
setValue()在 for 循环中使用会导致更高的成本。所以在这次修改中,我使用了setValues().values,如果values[i][j]是“真”。setValues()。var dataRange = sheet.getRange('A3:A');
var values = dataRange.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == true) {
values[i][j] = false; // Modified
}
}
}
dataRange.setValues(values); // Added
Run Code Online (Sandbox Code Playgroud)
如果这不是你想要的,请告诉我。我想修改它。
range.uncheck()您现在可以直接在范围内使用
或者,由于您想取消选中范围中的所有内容(并且所有范围中都有复选框),因此只需执行以下操作:
sheet.getRange('A3:A').setValue(false);
Run Code Online (Sandbox Code Playgroud)
无需检查/循环。
| 归档时间: |
|
| 查看次数: |
20250 次 |
| 最近记录: |