Сайты / Разработка / Скрипты для гугл форм
Скрипт для гугл форм - подстановка DropDown в форму из таблицы с одинаковыми заголовками.
Если необходимо отредактировать форму по табличной части, сравнивает заголовок в таблице с заголовком вопроса и подгружает варианты для выпадающего списка из ячеек ниже. Есть простенький хэндлер ошибок - если нет похожего заголовка - не подставлять опции.
Довольно универсальная вещь.
Если необходимо отредактировать форму по табличной части, сравнивает заголовок в таблице с заголовком вопроса и подгружает варианты для выпадающего списка из ячеек ниже. Есть простенький хэндлер ошибок - если нет похожего заголовка - не подставлять опции.
Довольно универсальная вещь.
var ssID = "ID_документа_spreadsheet";
var formID = "ID_редактируемой_формы";
var wsData = SpreadsheetApp.openById(ssID).getSheetByName("reestr_del");
var form = FormApp.openById(formID);
function main(){
var labels = wsData.getRange(1, 1,1,wsData.getLastColumn()).getValues()[0];
labels.forEach(function(label,i){
var options = wsData
.getRange(2, i + 1,wsData.getLastRow()-1,1)
.getValues()
.map(function(o){ return o[0] })
.filter(function(o){ return o !== ""});
updateDropdownUsingTitle(label,options);
});
}
function updateDropdownUsingTitle(title,values) {
var items = form.getItems()
var titles = items.map(function(item){
return item.getTitle();
});
var pos = titles.indexOf(title);
if(pos !== -1){
var item = items[pos];
var itemID = item.getId();
updateDropdown(itemID,values);
}
}
function updateDropdown(id,values) {
var item = form.getItemById(id);
item.asListItem().setChoiceValues(values);
}
Теги:
Google Forms
