![](/img/trans.png)
[英]Is there a daily quota for Google Forms created in Google App Scripts?
[英]Daily time limitations from Google Scripts in Google Forms
我准备了一个谷歌表单,但我想设置一个时间限制,让它每天从早上 8 点(它开始接受回复)到下午 5 点(它停止接受回复)上线。 我设法在这里找到了接近我想要的东西https://www.labnol.org/internet/schedule-google-forms/20707/ 。
我不是一个不了解 JS 的程序员,但对 C++(大学必修单元)有一点了解。 我试图通过在线研究来根据我的意愿调整源代码。 这是我在谷歌脚本中的脚本。
function oc() {
ScriptApp.newTrigger('openForm')
.timeBased()
.everyDays(1)
.atHour(8)
.create();
ScriptApp.newTrigger('closeForm')
.timeBased()
.everyDays(1)
.atHour(16)
.create();
}
function openForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(true);
}
function closeForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(false);
deleteTriggers_();
}
这个示例脚本怎么样?
oc()
,请首先运行initTrigger()
。 这样, oc()
每天早上 0:00 启动。 首先请只运行一次。
initTrigger()
后,您可以在脚本编辑器上确认此触发器。oc()
在上午 0:00 启动时,用于启动openForm()
和closeForm()
现有触发器将被删除。openForm()
和closeForm()
的触发器被安装为新的触发器。 此时, openForm()
和closeForm()
的触发日期分别是今天的 AM 8:00 和 PM 5:00。function initTrigger(){
ScriptApp.newTrigger('oc').timeBased().atHour(0).everyDays(1).create();
}
function oc() {
ScriptApp.getProjectTriggers().forEach(function(e){
if(e.getHandlerFunction() == "openForm" || e.getHandlerFunction() == "closeForm") {
ScriptApp.deleteTrigger(e)
}
});
var time = new Date()
time.setHours(8);
time.setMinutes(0);
ScriptApp.newTrigger("openForm").timeBased().at(time).create();
time.setHours(17);
time.setMinutes(0);
ScriptApp.newTrigger("closeForm").timeBased().at(time).create();
}
function openForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(true);
}
function closeForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(false);
// deleteTriggers_();
}
有效! 多谢
我需要为一周中的每一天编写不同的时间表,我想这可以用一个脚本完成,但我只能用 7 个不同的脚本和 7 个触发器来完成。 关于这个的任何线索?
赞赏!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.