0

我正在尝试根据代码创建一个用户列表,简单地说,我们有一个系统,我们学校的每个成员都有一个分配的代码,有了这个代码,我可以通过在我们的网站上制作一些正则表达式来获取他们的姓名和电子邮件(基本上是数据挖掘)。

这个想法是只输入这个用户代码(比如说 0123456),一个脚本将从网站获取数据并填充相邻的列值。该脚本必须在on form subit触发器上运行,因此它仅在需要时更新。

我已经成功实现了数据收集系统,但我在填充相邻单元格时遇到了困难。

// this function is called when form is submitted
function onNewEntry(e)
{
  // get the code (cell 0 is the timestamp)
  userCode = e.values[1];

  // add values and return
  return e.values.concat(["name", "e-mail"]);
}

我希望脚本用“名称”和“电子邮件”更改列 C 和 D 中的单元格,但没有任何反应。有人可以建议吗?

4

2 回答 2

2

此函数在表单提交时触发,将在 C 和 D 列写入数据

(我用 xx 和 yy 只是为了说明)

function myFunction(e) {

var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

var last = sh.getLastRow()

sh.getRange(last,3,1,2).setValues([['xx','yy']])
}
于 2013-03-27T17:45:54.190 回答
0

Range.setValues([Array]) 是您的解决方案。请注意 setValues(...) 中的“s”。

https://developers.google.com/apps-script/reference/spreadsheet/range#setValues(Object)

另外,我没有对此进行测试,但我认为对象(e)不是指实际的单元格,而是提交数据的副本。如果要修改或附加到结果,我认为您需要打开工作表并获取范围。

于 2013-03-27T16:06:42.577 回答