是否可以从谷歌电子表格填充谷歌表单?

Geo*_*rge 5 google-docs google-sheets google-apps-script google-forms

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

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

小智 5

是的。使用表单脚本并使用 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')

}
Run Code Online (Sandbox Code Playgroud)


Vic*_*zel 0

当前有一个功能请求要求我们添加一个表单 API,该 API 允许您创建、检索、更新和删除电子表格的表单。尽管该功能目前尚不存在,但如果存在,您将能够使用 Forms API 和 Spreadsheets Data API 将电子表格数据链接到表单数据。功能请求在这里