0

我有一个接受和审查拨款申请的系统。有两种形式:

  1. 申请人提交的带有拨款请求的表格
  2. 我发送给三位评审员的表格,用于评估拨款申请

我想在一个电子表格中获得两种形式的结果:

表 1 列出了申请表中的数据(带有自动生成的序列号)。

表 2 列出了所有申请的所有审查数据(有一栏是审查的申请的序列号)。

我遇到了以下问题:

1 - 指定两个表单的结果进入同一个电子表格,在不同的工作表上。

2 - 为申请添加序列号,然后将相同的序列号添加到三个审核者的结果中。

有什么建议么?

4

2 回答 2

1

在不涉及另外两个电子表格的情况下,不可能使用 GAS 将两个 Google 表单的数据直接插入到一个电子表格中,因为现在表单只能将数据部署到自己的电子表格中,而 GAS 没有任何服务可以访问这些表单。

于 2012-09-06T09:44:38.617 回答
0

当您提出一个相当广泛的问题时,我会有点笼统,但我会尽力而为。我会考虑使用 UiApp 从头开始​​构建表单。它将使您在功能上更加灵活,并且信息流更加顺畅,但是由于您的问题是关于表格的,所以我会坚持下去。

问题 1:您希望OnSubmit在与表格 1 和 2 关联的每个电子表格中创建一个函数,将您想要的数据复制到另一个电子表格。

function onFormSubmit() { // add an onsubmit trigger 
var emailAddress = e.values[1];
var fullName     = e.values[2];
var newSS = SpreadsheetApp.openById("Add New SS ID").getSheetByName('Sheet1');//one form should be 'Sheet2'
  var range = sheet.getRange(sheet.getLastRow()+1,1,1,2);
range.setValues([[emailAddress, fullName]]);

问题2:分配一个序列号。在我看来,您只想为申请分配一个编号,然后将该编号提供给审阅者以便他们输入表格。要分配此号码,您可以按照教程:自动化服务台工作流程。相反,我只是使用获取最后一行,因为我从不删除活动应用程序中的行,因此行号是唯一的。

var serialNum = newSS.getLastRow()+1;

然后,您可以像其他操作一样简单地添加该变量。我没有测试过这段代码,所以你可能需要为你的目的清理它。

于 2012-09-05T16:11:23.653 回答