gpt4 book ai didi

google-apps-script - 如何使用谷歌应用程序脚本重置谷歌表单计数器值

转载 作者:行者123 更新时间:2023-12-04 05:09:52 25 4
gpt4 key购买 nike

我有几个经常重复使用的 Google 表单,每次提交大约 300 - 400 个表单。

到目前为止,我有两种手动重置表单的方法:

  • 在保持表单编辑器打开的同时删除表单。
  • 选择包含表单提交的行,右键单击并选择“删除...行”。

  • 使用脚本,我没有运气找到像 form.reset() 这样的方法.
    方法 .DeleteRows(fromRow, to Row)只删除行,但不影响计数器。

    那么,如何使用 Google 应用程序脚本自动执行“重置表单”任务?或者,如何在脚本中模仿第二种方式?

    谢谢!

    最佳答案

    我有一个有效的解决方案,它使用 deleteRows() .我不确定为什么这对您不起作用,看看您的代码会很有趣。

    新的 Forms 产品(2013 年 2 月)与旧表单有很大不同 - 此解决方案仅适用于旧表单。

    无论如何,这就是我所拥有的,前后截图。 tidy()可以通过传入要删除的行数来调用函数,或者您可以从菜单中调用它,如此处所示。此脚本的更完整版本是 available as a gist .

    /**
    * 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);
    }

    之前

    Spreadsheet with form responses and custom menu

    期间

    Script operation, inputBox

    之后

    Spreadsheet with 2 fewer form responses

    关于google-apps-script - 如何使用谷歌应用程序脚本重置谷歌表单计数器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020392/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com