Google 表单可以定时自动开启或关闭吗?

快速回答:不能,原生不支持。Google 表单只有一个手动的“接受回复”开关——没有内置的日期/时间调度器。要实现自动化,可以编写一个带有基于时间触发器的 Google Apps Script,安装第三方附加组件如 formLimiter,或者如果时间不那么关键就手动切换。

很多人以为 Google 表单会有调度功能——设置一个开启日期,设置一个关闭日期,然后就不用管了。但它没有。Google 表单给你的是“回复”选项卡里的一个手动开关:“接受回复”,开或关。除此之外的一切都需要你自己构建或叠加。以下是考试窗口期、报名截止日期和限时促销活动实际有效的做法。

Google 表单实际给你的功能

打开你的表单,点击“回复”选项卡,你会看到一个名为“接受回复”的开关。关闭它之后,任何访问该表单链接的人都会看到表单已不再接受提交的消息,以及你可以设置的可选自定义消息。这就是全部的原生机制——“设置”里没有任何地方可以输入关闭日期或开启日期。参阅我们关于关闭 Google 表单和限制回复的指南,了解这个开关以及相关回复限制选项的更多内容。

方法一:手动切换

对于小规模或非正式用途——团队午餐 RSVP、在特定时间截止的课堂作业——最简单的方法就是自己记得在合适的时间去切换开关。它不花一分钱,也不需要任何技术设置。明显的缺点是完全依赖你记得住,而“正好在晚上 11:59 关闭”在你睡着时就行不通了。

方法二:使用基于时间触发器的 Google Apps Script

对于精确关闭时间真正重要的场景——考试窗口期、出于公平考虑而强制执行的截止日期——Google Apps Script 可以可靠地完成这件事。Apps Script 是 Google 为 Workspace 应用内置的脚本层,它可以通过编程方式控制表单,包括按计划切换“接受回复”。参阅我们更全面的Google 表单的 Google Apps Script指南,了解这个脚本层除了调度之外还能做什么。针对这个具体用例的步骤在上面的方框中:从你的表单打开脚本编辑器,编写一个调用 setAcceptingResponses(false) 的简短函数,并为你想要触发的确切时刻附加一个时间驱动的触发器。同样的模式反过来也适用于在计划的时间调用 setAcceptingResponses(true) 来自动开启表单。

方法三:formLimiter(第三方附加组件)

如果你不想自己写脚本,formLimiter 是一个流行的附加组件,可以通过 Google Workspace Marketplace 获取,它能根据日期、时间或总回复数自动关闭表单。需要明确的是,formLimiter 是一个第三方工具,不是 Google 构建或维护的——它通过连接到你的表单并在后台运行自己的逻辑,精神上类似于一个预先写好的 Apps Script。如果你想要调度功能又不想自己写代码,这是一个合理的选择,但和任何第三方附加组件一样,安装前值得看看它请求了哪些权限。

常见使用场景

你应该使用哪个方案?

如果精确到分钟不重要,而且你反正会在电脑前,手动切换就挺好——对于一次性表单来说,这确实是最简单的选择,没理由过度设计。如果时间精度很重要,而你也不介意写一点脚本,Apps Script 是免费的,并且完全在你的掌控之中。如果你想要调度功能又不想碰代码,formLimiter 是成熟的第三方选择,只是要清楚它不是 Google 的产品。

三种调度方案的比较

手动切换Apps Script 触发器formLimiter 附加组件
设置成本需要编写简短脚本从 Marketplace 安装,配置设置
精确度取决于你是否在场精确到分钟精确到分钟
由 Google 构建?不适用——原生开关是,Apps Script 是 Google 产品不是,第三方
也能自动开启表单吗?不能,仅限手动可以,反向使用同一模式有限——主要为关闭而设计
最适合随意、低风险的表单愿意写一点代码的人想要调度但不想写脚本的非技术用户

表单自动关闭后回复会怎样

无论是哪种方法触发了关闭,之后的行为都是一样的:在“接受回复”关闭后打开链接的任何人,都会看到标准的关闭消息,也不会再记录任何新提交。关闭前收集的回复仍然完全可以在“回复”选项卡和任何关联的表格中访问——关闭表单不会删除或隐藏现有数据,它只会停止新的提交。如果你还想在表单关闭的那一刻收到提醒(而不是之后再去查看),可以把你使用的任何调度方法与新回复的邮件通知搭配使用,这样你就能清楚地记录截止前收到的最后一份回复。

排查计划关闭/开启的问题

  1. Apps Script 触发器没有触发。在 Apps Script 编辑器的“触发器”页面(时钟图标)中检查错误日志——常见原因是脚本的授权在 Google 账户密码更改后过期或被撤销。
  2. 表单已关闭,但有人说他们仍能提交。确认他们看到的不是缓存页面——请他们直接重新加载表单链接,而不是从之前打开的标签页重新提交。
  3. 你希望表单在下周/下月/明年按周期自动重新开启。Apps Script 触发器可以设置为重复(例如“每周”),而一次性的 formLimiter 关闭通常需要每次重新配置。
  4. 受访者反映表单显示“不接受回复”,但原因与你的计划无关。先排除无关的原因,比如触及了 Google 的回复量限制——参阅 Google 表单不接受回复获取完整的原因列表。

常见问题

Google 表单有内置的调度器吗?

没有。Google 表单没有在特定日期和时间自动开启或关闭表单的原生功能。“回复”选项卡中的“接受回复”开关必须手动切换,或用脚本或附加组件自动化。

如何在设定时间自动关闭 Google 表单?

两种常见方法是:编写一个带有基于时间触发器的 Google Apps Script,在你选定的时间关闭“接受回复”;或者安装一个第三方 Workspace 附加组件,如 formLimiter,根据日期、时间或回复数量关闭表单。

formLimiter 是 Google 制作的吗?

不是,formLimiter 是通过 Google Workspace Marketplace 分发的第三方附加组件。它不是由 Google 构建或维护的,尽管它可以直接与 Google 表单集成。

我可以只是手动关闭 Google 表单吗?

可以——对于小规模或非正式用途,在合适的时间手动关闭“接受回复”完全没问题,也完全不需要任何设置。

关闭表单会自动删除已经收集的回复吗?

不会。无论是手动关闭还是通过计划触发器关闭表单,都只会停止新的提交。关闭前收集的每一份回复仍会保留在“回复”选项卡和任何关联的 Google 表格中。

相关指南