logo

Сайты / Разработка / 
Скрипты для гугл форм

13 ноябрь, 2019 283 0
Скрипт для гугл форм - подстановка 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
Прокомментировать
Введите код с картинки:*
Кликните на изображение чтобы обновить код, если он неразборчив
все шаблоны для dle на сайте newtemplates.ru скачать