首页 > 解决方案 > 如何在 Google Forms 问题描述中嵌入 html

问题描述

我正在尝试调整Zack Akil 的脚本以使用 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-sheetsgoogle-forms

解决方案


您不能使用 HTML 文本格式。大多数网站都会阻止它,因为它会带来安全风险。您可能需要安装一个附加组件,或者像 fullfine 所说的那样,使用粗体文本


推荐阅读