Google 脚本中的 if 语句 class
Google scripts if statement inside class
所以我想做的是,每次提交表单时,它都会 运行 一些代码来检查某个单元格是否正常。如果没问题,我希望它创建该选择,但如果它不好,那么我希望它不创建该选择。这是我当前的代码,但我无法在 .setChoices
中放入 if 语句
var ss = SpreadsheetApp.openById("1QARjdbtFpERRkP7Mw7Ud56plOygMzQawjQbXsbf9Hgw");
var mh1 = ss.getRange ("Helicopter Status!C4");
var mh2 = ss.getRange ("Helicopter Status!C5");
var hellcat1 = ss.getRange ("Helicopter Status!C6");
var hellcat2 = ss.getRange ("Helicopter Status!C7");
var form = FormApp.getActiveForm();
var item = form.addListItem();
var items = form.getItems();
var deleteold = items[2];
form.deleteItem(deleteold);
Utilities.sleep(200);
item.setTitle('Helicopters')
.setRequired(true)
.setChoices([
item.createChoice('MH-9 #1'),
item.createChoice('MH-9 #2'),
item.createChoice('Hellcat #1'),
item.createChoice('Hellcat #2')
])
var items = form.getItems();
var movenew = items[5];
form.moveItem(movenew, 2)
所以我想要的是这样的
var ss = SpreadsheetApp.openById("1QARjdbtFpERRkP7Mw7Ud56plOygMzQawjQbXsbf9Hgw");
var mh1 = ss.getRange ("Helicopter Status!C4");
var mh2 = ss.getRange ("Helicopter Status!C5");
var hellcat1 = ss.getRange ("Helicopter Status!C6");
var hellcat2 = ss.getRange ("Helicopter Status!C7");
var form = FormApp.getActiveForm();
var item = form.addListItem();
var items = form.getItems();
var deleteold = items[2];
form.deleteItem(deleteold);
Utilities.sleep(200);
item.setTitle('Helicopters')
.setRequired(true)
.setChoices([
if(mh1 == 'Fine'){
item.createChoice('MH-9 #1'),
}
item.createChoice('MH-9 #2'),
item.createChoice('Hellcat #1'),
item.createChoice('Hellcat #2')
])
var items = form.getItems();
var movenew = items[5];
form.moveItem(movenew, 2)
也许你不需要在选择中执行你的if语句。在 setChoices 中你传递了一个数组 [];为什么不在 setChoices 之外构建该数组 - 将其分配给一个变量然后将变量传入。
var choices = []
if(mh1 === 'Fine'){
Logger.log('Hit if')
choices.push(item.createChoice('MH-9 #1'));
}
choices.push(item.createChoice('MH-9 #2'))
choices.push(item.createChoice('Hellcat #1'))
choices.push(item.createChoice('Hellcat #2'))
item.setTitle('Helicopters').setRequired(true).setChoices(choices)
所以我想做的是,每次提交表单时,它都会 运行 一些代码来检查某个单元格是否正常。如果没问题,我希望它创建该选择,但如果它不好,那么我希望它不创建该选择。这是我当前的代码,但我无法在 .setChoices
中放入 if 语句 var ss = SpreadsheetApp.openById("1QARjdbtFpERRkP7Mw7Ud56plOygMzQawjQbXsbf9Hgw");
var mh1 = ss.getRange ("Helicopter Status!C4");
var mh2 = ss.getRange ("Helicopter Status!C5");
var hellcat1 = ss.getRange ("Helicopter Status!C6");
var hellcat2 = ss.getRange ("Helicopter Status!C7");
var form = FormApp.getActiveForm();
var item = form.addListItem();
var items = form.getItems();
var deleteold = items[2];
form.deleteItem(deleteold);
Utilities.sleep(200);
item.setTitle('Helicopters')
.setRequired(true)
.setChoices([
item.createChoice('MH-9 #1'),
item.createChoice('MH-9 #2'),
item.createChoice('Hellcat #1'),
item.createChoice('Hellcat #2')
])
var items = form.getItems();
var movenew = items[5];
form.moveItem(movenew, 2)
所以我想要的是这样的
var ss = SpreadsheetApp.openById("1QARjdbtFpERRkP7Mw7Ud56plOygMzQawjQbXsbf9Hgw");
var mh1 = ss.getRange ("Helicopter Status!C4");
var mh2 = ss.getRange ("Helicopter Status!C5");
var hellcat1 = ss.getRange ("Helicopter Status!C6");
var hellcat2 = ss.getRange ("Helicopter Status!C7");
var form = FormApp.getActiveForm();
var item = form.addListItem();
var items = form.getItems();
var deleteold = items[2];
form.deleteItem(deleteold);
Utilities.sleep(200);
item.setTitle('Helicopters')
.setRequired(true)
.setChoices([
if(mh1 == 'Fine'){
item.createChoice('MH-9 #1'),
}
item.createChoice('MH-9 #2'),
item.createChoice('Hellcat #1'),
item.createChoice('Hellcat #2')
])
var items = form.getItems();
var movenew = items[5];
form.moveItem(movenew, 2)
也许你不需要在选择中执行你的if语句。在 setChoices 中你传递了一个数组 [];为什么不在 setChoices 之外构建该数组 - 将其分配给一个变量然后将变量传入。
var choices = []
if(mh1 === 'Fine'){
Logger.log('Hit if')
choices.push(item.createChoice('MH-9 #1'));
}
choices.push(item.createChoice('MH-9 #2'))
choices.push(item.createChoice('Hellcat #1'))
choices.push(item.createChoice('Hellcat #2'))
item.setTitle('Helicopters').setRequired(true).setChoices(choices)