【问题标题】:Google Apps Script - Very Basic Loop Problem Using isChecked()Google Apps 脚本 - 使用 isChecked() 的非常基本的循环问题
【发布时间】:2020-05-27 17:23:51
【问题描述】:

J 列有复选框。尝试创建一个循环语句来检查该行是否启用了复选框 (TRUE)。检查第 1-3 行 (TRUE)。当我运行此语句时,当我的预期结果是记录器将第 1-3 行显示为启用 (TRUE) 并将第 4-500 行显示为空时,记录器将所有行显示为空。

function checkRangeTest(){
  for(var row = 1; row <=500; row++){
    var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("J2:J500");

    Logger.log("Row "+ row + " is checked? " + range.isChecked());
  };
};

【问题讨论】:

    标签: javascript loops google-apps-script google-sheets


    【解决方案1】:

    测试活动工作表 J 列中每个复选框的值

    function checkRangeTest(){
      var html="";
      var ss=SpreadsheetApp.getActive();
      var shsr=2;//start row
      var sh=ss.getActiveSheet();
      var rg=sh.getRange(shsr,10,sh.getLastRow()-shsr+1,1);
      var values=rg.getValues();
      values.forEach(function(r,i){
        html+=Utilities.formatString('<br />Row: %s Value: %s',i+shsr,r[0]);
      });
      SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html), "Checkboxes");//creates a dialog displaying all of the results
    }
    

    复选框:

    【讨论】:

    • 请按回答勾选。
    【解决方案2】:
    var values = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("J2:J500").getValues();
    for(var row = 2; row <=500; row++){
      Logger.log("Row "+ row + " is checked? " + (values[row-2] === true));
    };
    

    【讨论】:

    • 在进行建议更新并将 TRUE 更改为“TRUE”以避免引用错误后,它现在将每一行都显示为 false。
    • ReferenceError: TRUE 未定义(第 5 行,文件“代码”)
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多