Форма Google Spreadsheet, заполните параметры формы на основе электронной таблицы. - PullRequest
18 голосов
/ 10 ноября 2011

Мне нужно найти способ изменения параметров множественного выбора в форме Google на основе набора ячеек в электронной таблице Google, которая постоянно меняется. Есть идеи?

Ответы [ 2 ]

25 голосов
/ 08 июля 2013

Это возможно.Напишите свой собственный скрипт в электронную таблицу, чтобы обновить форму.Если вы не знакомы с написанием сценариев, вы можете найти кого-то в галерее сценариев Google.Давайте посмотрим образец моего сценария.Сценарий должен обновить два списка.

function updateForm(){
  // a way to get the items from the form
  var form = FormApp.openById("<your form id>");
  var agentList = form.getItemById(<your item id>).asListItem();
  var hotelList = form.getItemById(<your item id>).asListItem();


  var ss = SpreadsheetApp.getActive();
  var agents = ss.getSheetByName("Agents");
  var hotels = ss.getSheetByName("Hotels");

  // get the values in the first column accept header row 1
  var agentValues = agents.getRange(2, 1, agents.getMaxRows() - 1).getValues();
  var hotelValues = hotels.getRange(2, 1, hotels.getMaxRows() - 1).getValues();

  var agentNames = [];
  var hotelNames = [];

  // convert 2D to 1D array and ignore empty cells
  for(var i = 0; i < agentValues.length; i++) {  
    if(agentValues[i][0] != "") {
      agentNames[i] = agentValues[i][0];
    }
  }

  for(var i = 0; i < hotelValues.length; i++) {
    if(hotelValues[i][0] != "") {
      hotelNames[i] = hotelValues[i][0];
    }
  }

  // populate the list
  agentList.setChoiceValues(agentNames);
  hotelList.setChoiceValues(hotelNames);
}

Вы также можете связать эту функцию с событиями редактирования / изменения электронной таблицы, чтобы автоматически обновлять список.

0 голосов
/ 10 ноября 2011

Запрашиваемая вами функциональность в настоящее время не существует. Запрос о привязке форм Google к электронным таблицам будет вашим лучшим выбором для синхронизации этих двух форм.

Всегда есть возможность создать форму, используя параметры URL, как указано здесь: https://docs.google.com/support/bin/answer.py?hl=en&answer=160000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...