Добавьте вопрос о форме Google в определенный раздел формы, используя скрипт Google Apps. - PullRequest
0 голосов
/ 04 марта 2019

Приносим извинения, если на этот вопрос уже был дан ответ, но я провел обширные исследования и потерпел неудачу.

Я пытаюсь добавить ряд вопросов в различные разделы уже существующей формы Google.

Я знаю, как добавить новый вопрос,

form.addTextItem();

, но это добавляет его в конец формы.

Я также знаю, как получить список разделов,

var sections = form.getItems(FormApp.ItemType.PAGE_BREAK);
var section = sections[0];

Но мне не удалось найти способ добавить вопрос в определенный раздел, например, например:

section.addTextItem();

Я не уверен, что это просто невозможно илиесли я упускаю что-то очень простое, но меня удивляет, что до сих пор ни у кого не было этой проблемы.

Любая помощь будет высоко ценится

С уважением,

1 Ответ

0 голосов
/ 05 марта 2019
  • Вы хотите добавить новый элемент в конкретный сеанс.

К сожалению, нет способов прямого добавления нового элемента в конкретный сеанс.Так как насчет этого обходного пути?В этом обходном пути используется следующий поток:

  1. Введите индекс сеанса, в который вы хотите добавить новый элемент.
  2. Создать новый элемент.
    • На этом этапе элемент добавляется в последний индекс последнего сеанса.
  3. Извлечение всех сеансов.
  4. Извлечение индекса сеансов,
    • Границу сеанса можно назвать PAGE_BREAK.
  5. Переместить созданный элемент во введенный индекс сеанса с помощью метода moveItem.

С помощью этого потока можно добавить новый элемент в конкретный сеанс.

Пример сценария:

var sessionIndex = 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 sessions = [0];
for (var i = 0; i < items.length; i++) {
  sessions.push(items[i].getIndex());
}
var insertIndex = sessions[sessionIndex + 1] || null;
if (insertIndex) {
  form.moveItem(newItem, insertIndex);
}

Примечание:

  • В этом примере сценария начало sessionIndex равно 0.
    • Например, когда sessionIndex равно 1, созданный элемент добавляется во 2-й сеанс.
  • Это пример сценария.Поэтому, пожалуйста, измените его для вашей ситуации.

Ссылки:

Если это не тот результат, который вы хотите, я прошу прощения.

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