空值时中断循环
Break loop on null value
我有一个来源 Google Sheet 可以复制到许多不同的 Google Sheet 供不同的学生使用。复制的信息针对不同的科目,每个科目在学生的个人 Sheet 文件中都是不同的 sheet。
源 sheet 设置为处理不同大小的 类,但我的问题是当代码到达没有信息的部分时试图 break
代码。我不知道为什么我的 break 语句不起作用,因为我知道 copysheet
是 null
,因为每次代码运行时它都会导致错误。
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;}
我有一个来源 Google Sheet 可以复制到许多不同的 Google Sheet 供不同的学生使用。复制的信息针对不同的科目,每个科目在学生的个人 Sheet 文件中都是不同的 sheet。
源 sheet 设置为处理不同大小的 类,但我的问题是当代码到达没有信息的部分时试图 break
代码。我不知道为什么我的 break 语句不起作用,因为我知道 copysheet
是 null
,因为每次代码运行时它都会导致错误。
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;}