#google-apps-script #google-forms
#google-apps-script #google-forms
Вопрос:
Приносим извинения, если на этот вопрос был дан ответ ранее, но я провел обширные исследования и не нашел ответа.
Я пытаюсь добавить несколько вопросов в различные разделы формы Google, которая уже существует.
Я знаю, как добавить новый вопрос,
form.addTextItem();
но при этом он добавляется в конец формы.
Я также знаю, как получить список разделов,
var sections = form.getItems(FormApp.ItemType.PAGE_BREAK);
var section = sections[0];
Но я не смог найти способ добавить вопрос в определенный раздел, например,
section.addTextItem();
Я не уверен, что это просто невозможно или я упускаю что-то очень простое, но я удивлен, что ни у кого больше не возникало этой проблемы до сих пор.
Будем признательны за любую помощь
С уважением,
Ответ №1:
- Вы хотите добавить новый элемент в определенный раздел.
К сожалению, не существует методов прямого добавления нового элемента в определенный раздел. Итак, как насчет этого обходного пути? В этом обходном пути используется следующий поток.
- Введите индекс раздела, в который вы хотите добавить новый элемент.
- Создайте новый элемент.
- На этом этапе элемент добавляется в последний индекс последнего раздела.
- Извлеките все разделы.
- Извлеките индекс разделов.
- Граница раздела может быть известна как
PAGE_BREAK
.
- Граница раздела может быть известна как
- Переместите созданный элемент в индекс введенного раздела с помощью метода MoveItem.
С помощью этого процесса можно добавить новый элемент в определенный раздел.
Пример сценария:
var sectionIndex= 1; // Please set the index you want to insert.
var form = FormApp.getActiveForm();
var newItem = form.addTextItem().setTitle("New sample item").getIndex(); // New sample item
var items = form.getItems(FormApp.ItemType.PAGE_BREAK);
var sections = [0];
for (var i = 0; i < items.length; i ) {
sections.push(items[i].getIndex());
}
var insertIndex = sections[sectionIndex 1] || null;
if (insertIndex) {
form.moveItem(newItem, insertIndex);
}
Примечание:
- В этом примере скрипта началом
sectionIndex
является0
.- Например, когда
sectionIndex
есть1
, созданный элемент добавляется во 2-й раздел.
- Например, когда
- Это пример сценария. Поэтому, пожалуйста, измените его в соответствии с вашей ситуацией.
Ссылки:
Если это был не тот результат, который вы хотели, я приношу извинения.