如何使用 Google Apps 脚本为 Google 表单下拉菜单设置 "values" 和 "go to section based on answer"?
How to use Google Apps Script to set the "values" and "go to section based on answer" for a Google Form dropdown?
我使用 Google Sheet 存储 "values" 和 "go to section based on answer" 用于 Google 表单下拉列表。如何使用 Google Apps 脚本为下拉菜单设置 "values" 和 "go to section based on answer"?
我可以使用脚本从 Google Sheet 设置值,但我无法使用 [=35= 为下拉列表设置 "go to section based on answer" ] 和脚本。
我在用于设置值的脚本中已经有了下拉列表的 listItem
。我尝试使用 createChoice(value, navigationItem)
并用它来设置 "go to section" 然后使用 setChoiceValues(values)
但我在表格上的所有内容都设置为 "Choice"。
如果您只想创建一个下拉项,根据使用 Apps 脚本的选择将您带到不同的部分:
function createDropdownExample() {
var form = FormApp.openById('your_form_id');
var item = form.addMultipleChoiceItem();
item.setTitle('Do you prefer cats or dogs?');
var dogsPage = form.addPageBreakItem().setTitle('Dogs');
var catsPage = form.addPageBreakItem().setTitle('Cats');
var dogsChoice = item.createChoice('Dogs', dogsPage);
var catsChoice = item.createChoice('Cats', catsPage);
item.setChoices([dogsChoice, catsChoice]);
}
我使用的是 setChoiceValues(values)
而不是 setChoices(choices)
。当我进行此更正时,我能够动态设置 "go to section"。
这是上面的版本,其中包含电子表格中的值:
function GoToPage() {
var form = FormApp.openById('MY FORM');
var spreadsheet = SpreadsheetApp.openById("MY SPREADSHEET");
var sheet = spreadsheet.getSheetByName("MY SHEET");
var list = form.getItemById("MY MULTIPLE CHOICE ID").asListItem()
var pagebreak01 = form.getItemById("PAGE BREAK ID 1").asPageBreakItem();
var pagebreak02 = form.getItemById("PAGE BREAK ID 2").asPageBreakItem();
var pagebreak03 = form.getItemById("PAGE BREAK ID 3").asPageBreakItem();
var choice1 = sheet.getRange("RANGE 1 FROM MY SHEET").getValues();
var choice2 = sheet.getRange("RANGE 2 FROM MY SHEET").getValues();
var choice3 = sheet.getRange("RANGE 3 FROM MY SHEET").getValues();
list.setChoices([
list.createChoice(choice1, pagebreak01),
list.createChoice(choice2, pagebreak02),
list.createChoice(choice3, pagebreak03)]);
}
我使用 Google Sheet 存储 "values" 和 "go to section based on answer" 用于 Google 表单下拉列表。如何使用 Google Apps 脚本为下拉菜单设置 "values" 和 "go to section based on answer"?
我可以使用脚本从 Google Sheet 设置值,但我无法使用 [=35= 为下拉列表设置 "go to section based on answer" ] 和脚本。
我在用于设置值的脚本中已经有了下拉列表的 listItem
。我尝试使用 createChoice(value, navigationItem)
并用它来设置 "go to section" 然后使用 setChoiceValues(values)
但我在表格上的所有内容都设置为 "Choice"。
如果您只想创建一个下拉项,根据使用 Apps 脚本的选择将您带到不同的部分:
function createDropdownExample() {
var form = FormApp.openById('your_form_id');
var item = form.addMultipleChoiceItem();
item.setTitle('Do you prefer cats or dogs?');
var dogsPage = form.addPageBreakItem().setTitle('Dogs');
var catsPage = form.addPageBreakItem().setTitle('Cats');
var dogsChoice = item.createChoice('Dogs', dogsPage);
var catsChoice = item.createChoice('Cats', catsPage);
item.setChoices([dogsChoice, catsChoice]);
}
我使用的是 setChoiceValues(values)
而不是 setChoices(choices)
。当我进行此更正时,我能够动态设置 "go to section"。
这是上面的版本,其中包含电子表格中的值:
function GoToPage() {
var form = FormApp.openById('MY FORM');
var spreadsheet = SpreadsheetApp.openById("MY SPREADSHEET");
var sheet = spreadsheet.getSheetByName("MY SHEET");
var list = form.getItemById("MY MULTIPLE CHOICE ID").asListItem()
var pagebreak01 = form.getItemById("PAGE BREAK ID 1").asPageBreakItem();
var pagebreak02 = form.getItemById("PAGE BREAK ID 2").asPageBreakItem();
var pagebreak03 = form.getItemById("PAGE BREAK ID 3").asPageBreakItem();
var choice1 = sheet.getRange("RANGE 1 FROM MY SHEET").getValues();
var choice2 = sheet.getRange("RANGE 2 FROM MY SHEET").getValues();
var choice3 = sheet.getRange("RANGE 3 FROM MY SHEET").getValues();
list.setChoices([
list.createChoice(choice1, pagebreak01),
list.createChoice(choice2, pagebreak02),
list.createChoice(choice3, pagebreak03)]);
}