【问题标题】:Is it possible to populate a google form from a google spreadsheet?是否可以从谷歌电子表格填充谷歌表单?
【发布时间】:2009-09-08 13:30:59
【问题描述】:

我想创建一个使用电子表格数据的表单,以便它是动态的。是否有可能做到这一点?我找不到任何描述方法或示例的地方。

似乎可以从表单中填充电子表格,我也会使用它,但它不是这里的主要关注点。

【问题讨论】:

  • 您可以在其中添加一个 google-docs 标签
  • 完成。经过更多的研究,这似乎是不可能的,这是一个很大的耻辱。不过它可能正在路上。
  • 我删除了 google-docs 标签,因为此时它是针对文字处理应用程序的问题。

标签: google-apps-script google-sheets google-docs google-forms


【解决方案1】:

Google Apps Scripts.. 最后是一种以编程方式生成 Google 表单的有据可查的方法。 https://developers.google.com/apps-script/reference/forms/

【讨论】:

    【解决方案2】:

    是的。使用表单脚本并使用 FORM OPEN 上的触发器更新电子表格中的信息。下面是一个示例,它从两个不同的工作表中获取数据,并将数据插入组合框和多项选择控件中。

    function getNewNames(){
      var form = FormApp.getActiveForm();
      var items = form.getItems();
    
      var ss = SpreadsheetApp.openByUrl(
         'https://docs.google.com/spreadsheets/d/YOURDOCSNAMEHERE/edit');
        var assSheet1 = ss.getSheetByName('Sheet1');
        var assValues = assSheet1.getDataRange().getValues();
        var values = assValues.slice(1);
        var valSort = values.sort();
    
      var ss2 = SpreadsheetApp.openByUrl(
         'https://docs.google.com/spreadsheets/d/DOCSNAMEHERE/edit');
         var playerSheet1 = ss2.getSheets()[0];
         var playerValues = playerSheet1.getDataRange().getValues(); 
         var player = playerValues.slice(0);
         var plySort = player.sort();
    
      var names = [];
    
      for(var p = 0; p < plySort.length; p++){
        names.push(plySort[p][0])
      }
    
      var pList = items[0].asListItem();
      pList.setChoiceValues(names).setRequired(true).setHelpText('Please Select Player Name')
    
      var areas = [];
      for (var i = 0; i < valSort.length; i++) {
          areas.push(valSort[i][1])
        }
    
      var aList = items[1].asMultipleChoiceItem();
          aList.setChoiceValues(areas).setRequired(true).setHelpText('Select Area of Assessment')
    
    }
    

    【讨论】:

      【解决方案3】:

      目前有一项功能请求要求我们添加表单 API,以便您为电子表格创建、检索、更新和删除表单。尽管该功能目前不存在,但如果存在,您将能够使用 Forms API 和 Spreadsheets Data API 将电子表格数据链接到表单数据。 feature request is here

      【讨论】:

      • 感谢您通知我这个 vicfryzel。此功能是否有任何时间表?我不再追求需要此功能的项目,但是我对它的开发很感兴趣。我已为请求加注星标。
      • 现在可以通过编程方式创建表单了。
      【解决方案4】:

      您可能想看看FormRanger plugin。它不会填充表单的问题,而是动态填充多选题、列表或网格问题中的可能答案。它甚至可以从表单的先前响应中提取数据。它可以设置为每次提交后或每小时自动更新。 请注意:如果您使用过滤问题根据问题的答案重定向到不同的部分,则不能将 Formranger 用于该问题,因为它会破坏重定向。

      【讨论】:

        猜你喜欢
        • 2013-12-05
        • 2017-04-28
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多