Google表单中Google脚本的每日时间限制 [英] Daily time limitations from Google Scripts in Google Forms
问题描述
我已经准备好一个Google表单,但我希望为其设置一个时间限制,以使其每天从上午8点(开始接受响应)到下午5点(停止接受响应)上线.在 https://www的地方,我设法找到了想要的东西. labnol.org/internet/schedule-google-forms/20707/.
I have a google form ready but I wish to set a time limit on it so that it goes live everyday from 8am (it starts accepting responses) to 5pm (it stops accepting responses). I managed to find something close to what I wanted here https://www.labnol.org/internet/schedule-google-forms/20707/.
我不是一个不懂JS的程序员,但是对C ++(必修的大学单元)却有点了解. 我试图通过在线研究来调整源代码,使其符合我的意愿. 这是我在Google脚本中的脚本.
I am not a programmer with no knowledge of JS but have a little knowledge on C++ (mandatory university unit). I have tried to tweak the sourced code to my wishes by researching online. here is my script in google scripts.
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()
之后,您可以在脚本编辑器上确认此触发器.
- 运行
- In order to launch
oc()
, please at first, runinitTrigger()
. By this,oc()
is launched at AM 0:00 every day. Please at first run this only one time.- After
initTrigger()
was run, you can confirm this trigger on your script editor.
- After
脚本:
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_();
}
这篇关于Google表单中Google脚本的每日时间限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!