google-apps-script - 如何使用 Google Apps 脚本或 GAS 创建 Google 表单测验?
问题描述
是否可以使用 GAS 从电子表格上的问题和答案列表中创建测验表格?我正在为英语学习者做一个单词测试,测试者被要求为每个问题输入一个答案。我创建了一个包含多个问题或单选按钮的测验...,但我无法将电子表格中的 TEXT 答案导入 TEXT 类型的测验。
我的脚本如下...
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var range = ss.getDataRange();
var data = range.getValues();
var numberRows = range.getNumRows();
var numberColumns = range.getNumColumns();
var firstRow = 1;
var form = FormApp.openById('');
for(var i=0;i<numberRows;i++){
var questionType = data[i][0];
if (questionType==''){
continue;
}
else if(questionType=='TEXT'){
form.addTextItem()
.setTitle(data[i][1])
.setHelpText(data[i][2])
.setRequired(true);
}
解决方案
- 查看文档示例
- 一旦你了解它是如何工作的,首先添加addTextItem()
- 使其适应您的工作表/需求
例子:
- 我在 A 列上有以下问题列表:
- 现在我想将这些问题转换成这种形式:
- 您应该适应您的需求的源代码:
function convertToForm(){
const ss = SpreadsheetApp.getActive().getActiveSheet();
const questionList = ss.getRange("A1:A7").getValues();
const form = FormApp.create('New Form');
questionList.forEach( (question) => {
const item = form.addTextItem();
item.setTitle(question[0])
})
// press Ctrl+Enter to see form urls
Logger.log('Published URL: ' + form.getPublishedUrl());
Logger.log('Editor URL: ' + form.getEditUrl());
}
参考:
推荐阅读
- php - 如何渲染一维和多维数组
- vb.net - 问题是从字符串到类型日期的转换无效
- python - python中的“self”参数是什么意思?
- flutter - 为颤振条码扫描添加新的覆盖 (barcode_scan)
- python - 使用表的两个不同列的 Python 函数
- asp.net-core - 如何在没有提交剃须刀的情况下获得控件值?
- r - 是否有 R 代码可以删除具有两个 - 三个不同列条件的相同 ID 的重复事件?
- python-3.x - 如何通过filestack python批量上传
- ruby-on-rails - 在 Dokku 上部署 Rails 时出错 - 在 Digital Ocean 上
- javascript - 如何使图像显示为结果