Google apps script 谷歌表单中谷歌脚本的每日时间限制
我已经准备好了一个谷歌表单,但我希望对它设置一个时间限制,以便它每天早上8点(它开始接受回复)到下午5点(它停止接受回复)上线。我设法找到了一些接近我想要的东西 我不是一个没有JS知识的程序员,但对C++(强制大学单元)有一些了解。 我试图通过在线搜索来调整源代码以满足我的愿望。 这是我在谷歌脚本中的脚本Google apps script 谷歌表单中谷歌脚本的每日时间限制,google-apps-script,google-forms,Google Apps Script,Google Forms,我已经准备好了一个谷歌表单,但我希望对它设置一个时间限制,以便它每天早上8点(它开始接受回复)到下午5点(它停止接受回复)上线。我设法找到了一些接近我想要的东西 我不是一个没有JS知识的程序员,但对C++(强制大学单元)有一些了解。 我试图通过在线搜索来调整源代码以满足我的愿望。 这是我在谷歌脚本中的脚本 function oc() { ScriptApp.newTrigger('openForm') .timeBased() .everyDays(1) .a
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()
时,用于启动openForm()
和closeForm()
的现有触发器将被删除openForm()
和closeForm()
的触发器作为新触发器安装。此时,openForm()
和closeForm()
的触发日期分别为今天上午8:00和下午5:00这个示例脚本怎么样 流量:
oc()
,请首先运行initTrigger()
。这样,oc()
将在每天上午0:00启动。请先只运行一次。
- 运行
后,可以在脚本编辑器上确认此触发器initTrigger()
oc()
时,用于启动openForm()
和closeForm()
的现有触发器将被删除openForm()
和closeForm()
的触发器作为新触发器安装。此时,openForm()
和closeForm()
的触发日期分别为今天上午8:00和下午5:00谢谢你的回复。我已经相当了解你编码和修补的内容,是的,它回答了我的问题。我已经把它写在脚本上,并按照你的要求触发了。@Divshal Sharma欢迎。也谢谢你。如果您的问题已解决,请按“接受”按钮。其他人也可以确认此解决方案。谢谢你的回复。我已经相当了解你编码和修补的内容,是的,它回答了我的问题。我已经把它写在脚本上,并按照你的要求触发了。@Divshal Sharma欢迎。也谢谢你。如果您的问题已解决,请按“接受”按钮。其他人也可以确认此解决方案。
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_();
}