Mine
Load Song
Download
code:
const populateGoogleForms = () => {
const GOOGLE_SHEET_NAME = 'xxx';
const GOOGLE_FORM_ID = 'xxx';
const ss = SpreadsheetApp.getActiveSpreadsheet();
const [header, ...data] = ss
.getSheetByName(GOOGLE_SHEET_NAME)
.getDataRange()
.getDisplayValues();
const choices = {};
header.forEach((title, i) => {
choices[i + 1] = {
title: title,
data: data.map((d) => d[i]) //.filter((e) => e);
}
});
FormApp.openById(GOOGLE_FORM_ID)
.getItems()
.map((item) => {
if (!isNaN(item.getTitle())) return { item, values: choices[item.getTitle()] }
else {
let title = item.getTitle().split('.')[0]
return { item, values: choices[title] }
}
})
// .filter((values) => values)
.forEach(({ item, values }) => {
if (values) {
switch (item.getType()) {
case FormApp.ItemType.CHECKBOX:
item.asCheckboxItem().setChoiceValues(values['data']);
break;
case FormApp.ItemType.LIST:
item.asListItem().setChoiceValues(values['data']);
break;
case FormApp.ItemType.MULTIPLE_CHOICE:
item.asMultipleChoiceItem().setChoiceValues(values['data']);
break;
default:
// ignore item
}
item.setTitle(values['title'])
}
});
ss.toast('Google Form Updated !!');
};
Show less