Есть ли способ программно добавить описание к отдельным вопросам в форме Google, созданной с помощью Google Apps Script? - PullRequest
0 голосов
/ 11 декабря 2019

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

В настоящее время я могу программно сгенерировать форму из листа, но единственный способ, которым я до сих пор вставлял текст в форму, - это вставить данные в форму в качестве заголовка вопроса (которыйзатем генерирует непристойно большие ячейки заголовка на листе, который собирает ответы) или в качестве заголовка заголовка (который разбивает форму таким образом, который я не хочу). Если это помогает, необязательно, чтобы вставленный текст был логически связан с вопросом, если он может быть вставлен таким образом, чтобы он был визуально связан с вопросом к пользователю.

В настоящее время у меня естьthis:

function getRequests() {

  for (var i = 2; i <= requestLastRow; i++) {

    var name = requestSheet.getRange(i,3).getValue();
    var email = requestSheet.getRange(i,2).getValue(); 
    var supervisor = requestSheet.getRange(i,4).getValue();
    var start = requestSheet.getRange(i,5).getValue();
    var formattedStart = Utilities.formatDate(start, 'EST', 'EEE, d MMM yyyy hh:mm aaa');
    var end = requestSheet.getRange(i,6).getValue();
    var formattedEnd = Utilities.formatDate(end, 'EST', 'EEE, d MMM yyyy hh:mm aaa');
    var hours = requestSheet.getRange(i,7).getValue();
    var comment = requestSheet.getRange(i,8).getValue();

    var item = approvalForm.addMultipleChoiceItem();
    item.setTitle("Name: " + name +
                  "\n\nEmail: " + email +
                  "\n\nSupervisor: " + supervisor +
                  "\n\nStart Date: " + formattedStart +
                  "\n\nEnd Date: " + formattedEnd +
                  "\n\nHours Requested: " + hours +
                  "\n\nComments: " + comment)
                  .setChoices([item.createChoice('Approve'), item.createChoice('Deny')]);

    var section = approvalForm.addPageBreakItem(); 
  }
}

, который генерирует это:

enter image description here

1 Ответ

2 голосов
/ 11 декабря 2019

Вам необходимо использовать .setHelpText().

Устанавливает текст справки элемента (иногда называемый текстом описания для элементов макета, таких как ImageItems, PageBreakItems и SectionHeaderItems).

var item = approvalForm.addMultipleChoiceItem();
item.setHelpText("Name: " + name +
                 "\n\nEmail: " + email +
                 "\n\nSupervisor: " + supervisor +
                 "\n\nStart Date: " + formattedStart +
                 "\n\nEnd Date: " + formattedEnd +
                 "\n\nHours Requested: " + hours +
                 "\n\nComments: " + comment)
                 .setChoices([item.createChoice('Approve'), item.createChoice('Deny')]);
...