如何根据答案总数而不是回复数量限制Google表单提交 [英] How to limit Google Form submissions based on total number of answers not number of responses

查看:11
本文介绍了如何根据答案总数而不是回复数量限制Google表单提交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个简单的注册表,只要求:

  1. 电子邮件地址(必填)
  2. 名称(必填)
  3. 加一人姓名(非必填项-如果有)

我可以根据回复数量限制Google表单:

function closeForm() {
    // get active form
    var form = FormApp.getActiveForm();

    // retrieve number of responses thusfar
    var responses = form.getResponses();

    // set close message
    var msg = "We're sorry, the event is full.";

    // do the math
    if(responses.length >= 100) {
        form.setAcceptingResponses(false).setCustomClosedFormMessage(msg);
    }
}

但我想不出如何将限制设置为1和2的总和。(即剧院的座位总数)

有人能帮帮我吗?

推荐答案

多亏了@Chris W@Umair的不懈帮助,我终于能够创建完成最初所需的表单。

以下脚本放置在表单的脚本编辑器中,并在表单提交时触发:

function FormDisabling() {

    var form = FormApp.getActiveForm();
    var msg = 'Sorry, the event is full.';
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Total');
    var range = sheet.getRange('d21’);
    var data = range.getValue();

    if (data <= 40) {
      form.setAcceptingResponses(false).setCustomClosedFormMessage(msg);
   }

}
仅当附加的表单和电子表格按如下方式设置时才起作用: 第二个工作表(合计)从原始(响应)工作表填充,并添加了额外的(D)列。D2-D20有一个Countif公式(=COUNTIF(A2:B2;"<>")),而单元格D21将这些值相加。如果它的值大于脚本中设置的数字,则该表单将禁用,并显示自定义消息。

我相信有一种不那么尖锐的方法来回答最初的问题。我很抱歉这些愚蠢的问题和评论,这是我第一次涉足Apps脚本(以及一段时间以来的逻辑思维)。

这篇关于如何根据答案总数而不是回复数量限制Google表单提交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆