有没有办法以编程方式为使用 Google Apps 脚本生成的 Google 表单中的各个问题添加说明?

Is there a way to programmatically add a description to individual questions in a Google Form that is generated using Google Apps Script?

我正在尝试找到一种方法来从传播sheet 中获取文本,并使用它为 Google 表单中的各个问题添加上下文。手动制作 Google 表格时,您可以为个别问题添加描述,但我找不到以编程方式执行此操作的方法。

目前,我可以通过编程方式从 sheet 生成表单,但到目前为止,我发现将文本插入表单的唯一方法是将数据作为标题放入表单问题(然后在收集答案的 sheet 中生成非常大的 header 单元格)或作为 header 标题(以我不希望的方式分解表格)。如果这有帮助,插入的文本不必在逻辑上与问题相关联,只要它可以以在视觉上与用户的问题相关联的方式插入即可。

目前我有这个:

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(); 
  }
}

生成这个:

您需要使用.setHelpText()

Sets the item's help text (sometimes called description text for layout items like ImageItems, PageBreakItems, and 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')]);