我已准备好谷歌表格,但我希望设定一个时间限制,以便每天从早上8点开始(它开始接受回复)到下午5点(它停止接受回复)。我设法找到了我想要的东西https://www.labnol.org/internet/schedule-google-forms/20707/。
我不是一个不懂JS的程序员,但对C ++(强制性大学单元)有一点了解。 我试图通过在线研究来调整源代码以满足我的愿望。 这是我在google脚本中的脚本。
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_();
}
答案 0 :(得分:3)
这个示例脚本怎么样?
oc()
,请先运行initTrigger()
。这样,oc()
每天凌晨0点启动。请一开始只运行一次。
initTrigger()
后,您可以在脚本编辑器上确认此触发器。oc()
时,系统会移除现有的启动openForm()
和closeForm()
的触发器。openForm()
和closeForm()
的触发器将作为新触发器安装。目前,openForm()
和closeForm()
的触发日期分别为今天上午8:00和下午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_();
}
如果我误解了你的问题,我很抱歉。