【发布时间】:2021-02-26 13:25:39
【问题描述】:
我正在尝试调整 Zack Akil's script 以使用 App 脚本从 Google 表格生成 Google 表单,但我正在努力解决的一件事是将表格的输入解析为 HTML。我根据我的工作表生成了一个表单,单元格上的所有文本都作为纯文本放置在表单中,不解析 HTML(见下图)。
我从 Zack 粘贴了脚本,请您指出我应该在哪里修改以便在表单上进行解析。
function getSpreadsheetData(sheetName) {
// Return an list of objects (one for each row) containing the sheets data.
var arrayOfArrays = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName || 'Sheet1').getDataRange().getValues();
var headers = arrayOfArrays.shift();
return arrayOfArrays.map(function (row) {
return row.reduce(function (memo, value, index) {
if (value) {
memo[headers[index]] = value;
}
return memo;
}, {});
});
}
function create_ranges_for_data(form, data, data_section_name){
// loop throughh each row
data.forEach(function (row) {
// create a new question page
form.addPageBreakItem()
// add page title
form.addSectionHeaderItem()
.setTitle(data_section_name);
// create number range input with the title being the document to be labeled
form.addScaleItem()
.setTitle(row[data_section_name])
.setBounds(1, 10)
.setRequired(true);
});
}
function make_form_using_column(column_name) {
// create a new Google Form document
var form = FormApp.create('Data labelling - ' + column_name)
desc = "Thank you for taking the time to label this data!";
form.setDescription(desc);
form.setProgressBar(true);
form.setShowLinkToRespondAgain(false)
var data = getSpreadsheetData();
create_ranges_for_data(form, data, column_name);
}
function gen_form(){
var COLUMN_TO_USE = 'Input text'
make_form_using_column(COLUMN_TO_USE);
}
【问题讨论】:
-
Google 表单不支持 HTML 代码或文本格式。只有一个选项可用于修改其外观,称为
Customize Theme。但是,有许多解决方法可以适合您的情况。根据您的需要,您可以下载表单的 html 并对其进行修改,您可以安装插件,也可以简单地粘贴 bold text。如果你给我更多关于你的案子的背景信息,我想帮助你。将答案存储在表单或电子表格中很重要吗?
标签: google-sheets google-forms