Удалить весь раздел вопросов в Google Forms с помощью скрипта Apps - PullRequest
1 голос
/ 02 апреля 2020

Я успешно реализовал код для копирования вопросов опроса из листа Google в форму Google. В настоящее время, когда я делаю это, я добавляю вопросы в конец формы, добавляя PageBreakItem, затем добавляя GridItems. Это создает разрыв страницы и добавляет новый раздел в форму Google.

Я хотел бы удалить самый последний раздел перед добавлением новых вопросов, но безуспешно. В идеале удаление раздела приведет к удалению всех элементов в этом разделе / ​​странице. В пользовательском интерфейсе форм есть опция «Удалить раздел», которая делает то, что я хотел бы.

Мне удалось удалить последний PageBreak, но все, что я могу сделать, это объединить вопросы из двух разделов. Я подумал, может быть, пытаясь удалить SectionHeaderItem, но я не верю, что разрывы страниц / разделы, созданные в пользовательском интерфейсе, совпадают с элементами заголовка раздела в коде.

Любые идеи о том, как удалить Раздел вопросов?

Вот фрагмент моего скрипта:

function clearForm()
{
  var setupSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Setup'); //Create variable for the Setup sheet
  var form = FormApp.openById(setupSheet.getRange("D1").getValue()); //Open form using the form ID from the setup sheet
  var secItems = form.getItems(FormApp.ItemType.SECTION_HEADER); //Get array of all page break items
  var pageItems = form.getItems(FormApp.ItemType.PAGE_BREAK); //Get array of all page break items

  var delSection = form.deleteItem(pageItems[3]);  
}

function editForm()
{
  var setupSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Setup'); //Create variable for the Setup sheet
  var metricSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Final Metric Statements'); //Create variable for the Metric Statements sheet
  var form = FormApp.openById(setupSheet.getRange("D1").getValue()); //Open form using the form ID from the setup sheet  

  var pageFour = form.addPageBreakItem().setTitle('Questions');

  var item = form.addGridItem();
  item.setRows(emotArray[i]);
  item.setColumns(['Strongly Disagree', 'Disagree','Slightly Disagree', 'Neither Disagree or Agree', 'Slightly Agree', 'Agree', 'Strongly Agree', 'N/A']);//Add column header
  item.setRequired(true);
};

Вот опция пользовательского интерфейса формы для удаления Раздела и всех элементов в разделе: Google Возможность удаления раздела форм

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