如何通过Apps Script每周定时禁用Google表单(周五18:00-周一9:00)
实现Google表单每周周期性启停的Apps Script方案
核心思路
通过编写两个控制表单状态的函数,搭配时间驱动触发器,实现每周固定时段自动开放/禁用表单提交权限。
步骤1:打开表单的Apps Script编辑器
打开目标Google表单,点击右上角「扩展程序」→「Apps Script」,进入脚本编辑界面。
步骤2:编写控制脚本
替换编辑器默认内容为以下代码:
// 开放表单,允许用户提交 function enableForm() { const activeForm = FormApp.getActiveForm(); activeForm.setAcceptingResponses(true); console.log(`表单已开放 | 执行时间:${new Date().toLocaleString()}`); } // 禁用表单,阻止用户提交 function disableForm() { const activeForm = FormApp.getActiveForm(); activeForm.setAcceptingResponses(false); // 自定义关闭提示语,可按需修改 activeForm.setCustomClosedFormMessage("表单当前暂停提交,开放时段为每周一9:00至周五18:00,感谢配合!"); console.log(`表单已关闭 | 执行时间:${new Date().toLocaleString()}`); }
步骤3:配置周期性触发器
在脚本编辑器左侧点击「触发器」图标(闹钟样式),点击「添加触发器」,分别创建两个触发器:
触发器1:周一9:00自动开放表单
- 选择运行函数:
enableForm - 事件源:时间驱动
- 触发器类型:周计时器
- 星期几:周一
- 时间时段:上午9:00-10:00
- 时区:选择你所在的本地时区(确保时间匹配)
触发器2:周五18:00自动禁用表单
- 选择运行函数:
disableForm - 事件源:时间驱动
- 触发器类型:周计时器
- 星期几:周五
- 时间时段:下午6:00-7:00
- 时区:与上面保持一致
步骤4:测试验证
- 手动运行
enableForm和disableForm函数(点击编辑器工具栏运行按钮),确认表单状态能正常切换 - 检查触发器列表,确保两个触发器已正确创建
- 通过「查看」→「日志」查看函数执行记录,排查异常
注意事项
- 权限授权:首次运行函数会提示授权,按引导完成即可(需使用拥有表单编辑权限的账号)
- 时区校准:务必确认脚本时区与本地时区一致,否则触发时间会偏差
- 日志排查:若触发器未按时执行,可查看日志确认报错信息
内容的提问来源于stack exchange,提问作者Shaik Naveed
相关产品推荐
相关产品推荐

