有没有办法以编程方式为使用 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')]);
我正在尝试找到一种方法来从传播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')]);