有人打开我的Google表单时如何执行我的代码?

时间:2019-01-03 16:47:53

标签: javascript google-apps-script

我希望每次有人打开我的Google表单时都执行此代码,因为我希望在特定时间提供响应,但是当我在17到21点之间打开表单时,该表单可用于响应。但是,如果我在Google脚本中按下“执行”按钮,则代码运行良好。

那么,我该如何执行这些代码?

谢谢

function myFunction() {

  stop_Accepting_Responses();

  function stop_Accepting_Responses() {
    var thisForm;
    thisForm = FormApp.getActiveForm();//Get the Form

    var d = new Date();
    var h = d.getHours();


     if (h>=17 && h<21){ 
        thisForm.setAcceptingResponses(true);
     }else{
        thisForm.setAcceptingResponses(false);
     }
   }

} 

1 个答案:

答案 0 :(得分:0)

您可以使用时间触发器在表格侧而不是在表单中执行此操作。打开一个新的表格电子表格,然后转到脚本编辑器。使用如下代码。

// get the form's id

function Stop_Accepting_Responses() {
   var formUrl = "https://docs.google.com/forms/d/12.../edit";
   FormApp.openByUrl(formUrl).setAcceptingResponses(false);
}

function Start_Accepting_Responses() {
   var formUrl = "https://docs.google.com/forms/d/12.../edit";
   FormApp.openByUrl(formUrl).setAcceptingResponses(true);
}

编辑>当前项目的触发器,并为您要运行启动和停止功能的小时创建一个新的基于时间的触发器。