动态更新电子表格中列的Google表单“从列表中选择”选项

方法

我正在尝试设置一个Google表单,该表单将创建一个“从列表中选择”问题,每个选项均从特定列的行中绘制。

我已经尝试过此代码,但是对我来说根本没有用。

我到目前为止的代码如下。我能够使用特定列中仅一行的数据(在本例中为该列的最后一行)创建所需的表单问题。

如果有人可以通过向我指示正确的方向来帮助您,如何将每个选定的行分配给一个问题选项。同样,如果这是每次电子表格更新时动态更新问题选项的某种方式。

var idColumn = 1; // ID of the selected column

//gets document ID from spreadsheet 
//(not 100% sure the role of all of these lines, have worked it out from other examples of code online)
function spreadSheetGetter() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();
  var lr = rows.getLastRow();  

  var docId = sheet.getRange(lr,idColumn,1,1).getValue(); //gets the data from the last row in selected column

fillFormData(docId);
}


//fills for with document ID
function fillFormData(docId) {
var form = FormApp.openById('MY FORMS ID');
var item = form.addListItem();

item.setTitle('Select Existing Customer') //creates the choose from list question
     .setChoices([
         item.createChoice(docId), //data from row 1
         item.createChoice(docId) //data from row 2 etc...
       ])
}
艾伦·威尔斯

这个说法:

var docId = sheet.getRange(lr,idColumn,1,1).getValue();

仅获得一个值。我认为您想要列中的所有值,因此请使用getValues()(末尾的)方法获取值的二维数组。并将numRows参数(要获取的行数)更改为lr变量。另外,您可能想从第2行开始。语法为:

getRange(row, column, numRows, numColumns)
  • row-整数范围的起始行
  • column-整数范围的起始列
  • numRows-整数要返回的行数
  • numColumns-整数要返回的列数

因此,需要像这样设置参数:

var docId = sheet.getRange(2,idColumn,lr,1).getValues();

如果在电子表格中,第一行具有标题名称,则您可能不想在项目列表中包括标题。这就是为什么从第2行开始将第一个参数设置为数字2的原因。

然后,您需要处理二维数组中的数据,并创建一个新的数组,该数组采用setChoices(choices)方法所需的格式,以便将每个值添加到列表中。您将需要一个编程循环。每次都会创建一个新的项目值数组,因此该列中的当前值将更新到列表中。

var thisValue = "";
var arrayOfItems = [];
var newItem = "";

for (var i=0;i<docId.length;i++) {
  thisValue = docId[i][0];
  newItem = "item.createChoice('" + thisValue + "')";
  arrayOfItems.push(newItem);
};

完整的功能如下所示:

//fills item with document ID
function fillFormData(docId) {
  var form = FormApp.openById('MY FORMS ID');
  var item = form.addListItem();

  var thisValue = "";
  var arrayOfItems = [];
  var newItem = "";

  for (var i=0;i<docId.length;i++) {
    thisValue = docId[i][0];
    Logger.log('thisValue: ' + thisValue);
    newItem = item.createChoice(thisValue);
    arrayOfItems.push(newItem);
  };

  item.setTitle('Select Existing Customer') //creates the choose from list question
     .setChoices(arrayOfItems)
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据Google表格电子表格中的动态数据更新Google表单字段

来自分类Dev

如何根据现有电子表格更新Google表单下拉列表?

来自分类Dev

电子表格中的Google Geochart动态值

来自分类Dev

Google HTML服务:将表单中多项选择的值写入电子表格

来自分类Dev

在Google电子表格中混合2列

来自分类Dev

在表格中选择下一行时,更新电子表格侧栏中的值

来自分类Dev

从Google电子表格创建Google表单/测验

来自分类Dev

从Google电子表格创建Google表单

来自分类Dev

从电子表格列自动填充表单选项

来自分类Dev

如何从文件动态更新LibreOffice电子表格?

来自分类Dev

Google 表单 - 电子表格和数据插入

来自分类Dev

Google Apps脚本html从电子表格数据中加载的选择选项

来自分类Dev

如何在React中使用Google Sheets API动态获取电子表格中的工作表列表?

来自分类Dev

使用表单更新Google电子表格上的现有数据?

来自分类Dev

从另一个 Google 电子表格动态更新公式

来自分类Dev

谷歌电子表格中的动态减法

来自分类Dev

Google HTML从电子表格创建列表

来自分类Dev

自动更新 Google 电子表格脚本

来自分类Dev

动态电子表格?

来自分类Dev

带有“选择的jQuery插件”的选择框中的Google电子表格数据

来自分类Dev

用户界面和Google Drive / Google电子表格中的选择性同步

来自分类Dev

获取表单输入文本值以插入到Google电子表格中

来自分类Dev

根据电子表格中的值自动完成Google表单

来自分类Dev

获取表单输入文本值以插入到Google电子表格中

来自分类Dev

如何根据电子表格中的列表选择获取价值?

来自分类Dev

在Google电子表格中移动列

来自分类Dev

Google电子表格列不包含

来自分类Dev

Google的电子表格:以编程方式清除列

来自分类Dev

对整个列执行Google电子表格查询

Related 相关文章

  1. 1

    根据Google表格电子表格中的动态数据更新Google表单字段

  2. 2

    如何根据现有电子表格更新Google表单下拉列表?

  3. 3

    电子表格中的Google Geochart动态值

  4. 4

    Google HTML服务:将表单中多项选择的值写入电子表格

  5. 5

    在Google电子表格中混合2列

  6. 6

    在表格中选择下一行时,更新电子表格侧栏中的值

  7. 7

    从Google电子表格创建Google表单/测验

  8. 8

    从Google电子表格创建Google表单

  9. 9

    从电子表格列自动填充表单选项

  10. 10

    如何从文件动态更新LibreOffice电子表格?

  11. 11

    Google 表单 - 电子表格和数据插入

  12. 12

    Google Apps脚本html从电子表格数据中加载的选择选项

  13. 13

    如何在React中使用Google Sheets API动态获取电子表格中的工作表列表?

  14. 14

    使用表单更新Google电子表格上的现有数据?

  15. 15

    从另一个 Google 电子表格动态更新公式

  16. 16

    谷歌电子表格中的动态减法

  17. 17

    Google HTML从电子表格创建列表

  18. 18

    自动更新 Google 电子表格脚本

  19. 19

    动态电子表格?

  20. 20

    带有“选择的jQuery插件”的选择框中的Google电子表格数据

  21. 21

    用户界面和Google Drive / Google电子表格中的选择性同步

  22. 22

    获取表单输入文本值以插入到Google电子表格中

  23. 23

    根据电子表格中的值自动完成Google表单

  24. 24

    获取表单输入文本值以插入到Google电子表格中

  25. 25

    如何根据电子表格中的列表选择获取价值?

  26. 26

    在Google电子表格中移动列

  27. 27

    Google电子表格列不包含

  28. 28

    Google的电子表格:以编程方式清除列

  29. 29

    对整个列执行Google电子表格查询

热门标签

归档