我有几个谷歌表单,经常重复使用,每次提交约300-400份表单。
到目前为止,我有两种方法可以手动重置表单:
有了脚本,我就找不到像form.reset()这样的方法了。方法.DeleteRows(fromRow, to Row)只删除行,但不影响计数器。
那么,我如何使用Google应用程序脚本来自动化“重置表单”任务呢?
或者,如何在脚本中模仿第二种方式?
谢谢!
发布于 2013-02-22 16:20:06
我有一个可行的解决方案,它使用deleteRows()。我不知道为什么这不适用于您,看到您的代码会很有趣。
新表单产品(2013年2月)与遗留表单非常不同--此解决方案仅适用于遗留窗体。
不管怎么说,这是我所拥有的,之前和之后的截图。可以通过传递要删除的行数来调用tidy()函数,也可以从菜单中调用它,如下所示。这个脚本的一个更完整的版本是作为要旨。
/**
* Standard onOpen provided in script template.
*/
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{name : "Read Data",functionName : "readRows"},
{name : "Tidy Form Responses", functionName : "tidy"}];
sheet.addMenu("Script Center Menu", entries);
};
/**
* Prompt user for the number of form response rows to remove, then delete them.
* Assumes that the form responses are in the active sheet, that there is one
* row of 'headers' followed by responses (in row 2).
*
* @param {number} thisMany (Optional) The number of rows to remove. If not
* specified, user will be prompted for input.
*/
function tidy(thisMany) {
if (tidy.arguments.length == 0) {
thisMany = Browser.inputBox("How many responses should be tidied?");
}
var sheet = SpreadsheetApp.getActiveSheet();
sheet.deleteRows(2, thisMany);
}在此之前

在此期间

之后

发布于 2013-02-22 09:40:51
Google已经创建了一个新的表单编辑器(几周前刚刚发布)。这个新的表单编辑器有一个选项“删除所有响应”。因此,一种选择是在新的表单编辑器中重新创建表单。(从新的电子表格中,单击Tools > Create )。
注意:这个新的表单编辑器还没有提供给Google用户。
https://stackoverflow.com/questions/15020392
复制相似问题