我在下面找到了以下代码段:Re-set checkboxes to false - Google Apps Script
我有兴趣对其进行编辑以将false复选框设置为true,特别是将其添加为跳过空白单元格。找不到任何有关跳过空格的帮助。
function resetCheckBoxesAllSheets() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for (var s in allsheets){
var sheet=allsheets[s]
var dataRange = sheet.getRange('A4:Z100');
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;
}
}
}
dataRange.setValues(values);
}
}
答案 0 :(得分:0)
如果您希望翻转一组复选框的值,则会在给定的列有效范围内执行此操作:
注意:大写计数,是的,它们是字符串。如果对此有任何疑问,请使用脚本编辑器的调试器查看复选框中的内容。当我开始和他们一起玩时,我就是这么想的。
function resetCheckBoxesAllSheets() {
var ss = SpreadsheetApp.getActive();
var sheet=ss.getActiveSheet()
var dataRange = sheet.getActiveRange();
var values = dataRange.getValues();
for (var i=0;i<values.length;i++) {
values[i][0]=values[i][0]?"FALSE":"TRUE";
}
dataRange.setValues(values);
}
因此,在您的特定情况下,假设函数中的其他所有功能都正常,请尝试以下操作:
function resetCheckBoxesAllSheets() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for (var s in allsheets){
var sheet=allsheets[s]
var dataRange = sheet.getRange('A4:Z100');
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]) {
values[i][j] = "FALSE";
}
}
}
dataRange.setValues(values);
}
}