【问题标题】:Automate filling a Google Form using a Google spreadsheet (with dropdown menus)使用 Google 电子表格(带有下拉菜单)自动填写 Google 表单
【发布时间】:2019-11-12 18:15:30
【问题描述】:

我有一个 Google 表单,我想使用 Google 电子表格中的信息自动填写并重复提交。 (我是一名教师 - 这很快就会显现出来)。

表格:粗体是我要填写的字段,其他字段留空

-学生证:(简答)

-学术干预:(下拉框 - 每次理想的反应是“分配的教程”)

-行为干预:(下拉框)

-如果电话号码不起作用,请在此处检查:(复选框)

-结果/备注/工作编号:(简答)

Link to practice google form

我已经有一个电子表格设置了其中的一些信息。我看到了一个教程(叹息......YouTube),它可以帮助简短的答案,但不知道如何设置下拉响应。有什么建议或推荐到某个地方的另一个答案吗?

【问题讨论】:

    标签: google-sheets-api google-forms


    【解决方案1】:

    使用 FormApp [1] 和 SpreadsheetApp [2] 方法,我制作了以下 Apps 脚本代码,该代码用于发送带有电子表格信息的多个表单响应(A 列用于学生 ID,B 列用于备注):

    function myFunction() {
      var existingForm = FormApp.openById('[FORM-ID]');
      var questions = existingForm.getItems();
      var IdQuestion = questions[0];
      var AIQuestion = questions[1];
      var NotesQuestion = questions[4];
    
      var spreadsheet = SpreadsheetApp.openById("[SPREADSHEET-ID]");
      var sheet = spreadsheet.getSheets()[0]; 
      var data = sheet.getDataRange().getValues();
    
      for (var i = 1; i<data.length ; i++) {
        var response = existingForm.createResponse();
        response.withItemResponse(IdQuestion.asTextItem().createResponse(data[i][0]));
        response.withItemResponse(NotesQuestion.asTextItem().createResponse(data[i][1]));
        response.withItemResponse(AIQuestion.asListItem().createResponse("assigned tutorial"));
        response.submit();
      }
    }
    

    您需要同时替换代码中的 SpreasheetID 和 FormId。电子表格中的数据从第 2 行(标题的第一行)开始。

    [1]https://developers.google.com/apps-script/reference/forms/form-app

    [2]https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多