使用以下脚本,将创建一个新表单
// Create a new form, then add a checkbox question, a multiple choice question,
// a page break, then a date question and a grid of questions.
var form = FormApp.create('New Form');
var item = form.addCheckboxItem();
item.setTitle('What condiments would you like on your hot dog?');
item.setChoices([
item.createChoice('Ketchup'),
item.createChoice('Mustard'),
item.createChoice('Relish')
]);
form.addMultipleChoiceItem()
.setTitle('Do you prefer cats or dogs?')
.setChoiceValues(['Cats','Dogs'])
.showOtherOption(true);
form.addPageBreakItem()
.setTitle('Getting to know you');
form.addDateItem()
.setTitle('When were you born?');
form.addGridItem()
.setTitle('Rate your interests')
.setRows(['Cars', 'Computers', 'Celebrities'])
.setColumns(['Boring', 'So-so', 'Interesting']);
Logger.log('Published URL: ' + form.getPublishedUrl());
Logger.log('Editor URL: ' + form.getEditUrl());
问:
如何实现反向效果,即从已有的表单中获取生成脚本?
正如Rubén所说,没有通用的方法来执行从表单到脚本的逆向工程,但是您可以使用方法
getActiveForm()
和编写一个临时脚本getItems()
,然后我放置一个受以下答案启发的临时脚本:脚本:
要查看结果:
Ctrl
+Intro
。复制文本并执行清理,最终得到:
什么是实用程序?
使用它的一种方法是从现有表单中回收问题。
也可以看看
自动生成 Google 表单
我了解无法自动创建 Google Apps 脚本代码序列,这将是一种逆向工程形式,但可以对表单元素进行部分报告。
我说部分是因为到目前为止,只有Google Apps Script Forms Service可作为官方 API 使用,并且它不包括通过表单编辑器可用的所有元素。例如,无法完全创建/读取测试。
至于您可以使用的方法是:
一些关于谷歌表单的帖子,其中使用了上述一些方法:
也可以看看
自动生成 Google 表单