繁体   English   中英

空值中断循环

[英]Break loop on null value

我有一个Google表格来源,可以将它复制到不同学生的许多不同的Google表格中。 复制的信息针对的是不同的主题,在学生的个人图纸文件中每个信息都是不同的图纸。

源工作表设置为应付大小不同的类,但是我的问题是,当到达没有信息的部分时,我试图break代码。 我不知道为什么break语句不起作用,因为我知道copysheetnull因为每次代码运行都会导致错误。

function cloneGoogleSheet() {
  //select source sheet
  var sourcesheet = SpreadsheetApp.openById('some id');

  var j;
  for (var j = 1; j < 36; j++) {
    //select student sheets to copy to
    var studentid = sourcesheet.getSheetByName("Sheet11")
        .getRange(j, 2).getValue();

    var i;
    for (var i = 1; i < 14; i++) { 
      //select subject name for referencing different sheets
      var subject = sourcesheet.getSheetByName("Sheet6")
          .getRange(i + 1, 7 * j - 5).getValue();

      //find correct subject sheet on student sheet
      var copysheet = SpreadsheetApp.openById(studentid).getSheetByName(subject);

      if (copysheet != null) {break;}
      else {
        //copy "importrange" formula from sourcesheet
        var info = sourcesheet.getSheetByName("Sheet6")
            .getRange(i + 1, 7 * j).getValue();

        //copy teacher name from sourcesheet
        var teachername = sourcesheet.getSheetByName("Sheet6")
            .getRange(i + 1, 7 * j - 4).getValue();  

        //copy student name
        var studentname = sourcesheet.getSheetByName("Sheet6")
            .getRange(2, 7 * j - 6).getValue();  

        //paste "importrange" formula into student sheet 
        copysheet.getRange(6, 2).setValue(info);

        //paste teacher name into student sheet
        copysheet.getRange(3, 2).setValue(teachername);

        //paste student name into student sheet
        copysheet.getRange(1, 2).setValue(studentname);
      }
    }
  }
}

更改

if (copysheet != null) {break;}

if (copysheet == null) {break;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM