将复选框重新设置为true(处理空格)-Google Apps脚本

时间:2019-02-20 21:44:52

标签: checkbox google-apps-script google-sheets

我在下面找到了以下代码段: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);


}
}

1 个答案:

答案 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); 
  }
}