google-apps-script - 是否可以从谷歌电子表格填充谷歌表单?

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

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

似乎所有可能的方法都是从表单填充电子表格,我也会使用该表单,但这不是这里的主要问题。

最佳答案

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

}

关于google-apps-script - 是否可以从谷歌电子表格填充谷歌表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394049/

相关文章:

xpath - 带有变量的 url 的 Google 电子表格公式

open-source - 有没有 Google Docs 的开源替代品?

Excel 公式转 Google 文档格式

google-docs - Google 文档查看器 url 参数

postgresql - 将 Postgres 数据导入 Google 电子表格

google-apps-script - 使用 google apps 脚本计算 gmail 中的电子邮件 - for 循环限制为 500 次迭代

javascript - 使用 Advanced Drive Services 创建电子表格

google-apps-script - 为 DuplicateObject 请求创建带有可变键的 objectIds 映射

google-sheets - 指向特定工作表的超链接

javascript - D&D 风格的随机机会结果,在按钮点击时带有 if/then 语句 - 老师试图为类做事件