我想使用Google Apps脚本创建个性化表单,但无法在文档中找到方法。例如,对于不同的用户,问题是:
......等等
Google Apps脚本可以实现吗?
答案 0 :(得分:1)
现在在2014年,是的,你可以制作一个动态表格:
您可以在三个地方更改表单。
您可以提前创建多个标准表单,并为每个不同的用户或用户组提供不同的表单: 首先制作第一个表格。然后创建一个脚本,将此表单邮寄给您想要的用户,然后遍历所有项目并替换文本。 (参见本文底部的代码)
您可以创建标准表单,然后每次在提供表单之前替换某些文本。这可以通过 onOpen()触发器完成。
注意:可能是因为这不符合记录。我无法使用此方法,onOpen()仅用于打开文件FOR EDITING而不是FILLING。 我不想深入讨论这个问题,但它似乎与文档相反,后者指出OPEN-FOR-EDITING限制仅适用于可安装触发器而不适用于简单触发器。
不是一个好主意。
这是第一个解决方案(和第三个)的代码
function setQuiz(keyword, replacement){
var keyword = ...
var replacement = ...
var form = FormApp.getActiveForm();
var items = form.getItems();
var txt;
for (i=0; i<items.length; i++){
txt = items[i].getTitle();
txt = txt.replace(replacement, keyword);
items[i].setTitle(txt);
txt = "";
txt = items[i].getHelpText();
txt = txt.replace(replacement, keyword);
items[i].setHelpText(txt);
}
return form;
// CREATE A COPY of the form
// and send email with link to the form's COPY in next method, which will be done, only after this method replaced all texts. (see issue with solution 3)
// note you'll have to iterate between the replacement texts each time. So if you start out with tree to mountain, you must remember to change mountain to river...
答案 1 :(得分:0)