带有通知的新表格中的Google表单回复

时间:2017-02-16 07:53:20

标签: google-apps-script google-sheets google-form

我已经创建了一个捕获表单的订单捕获表单 1.位置(下拉列表), 交货日期(日期) 3.产品(小文字)

然后我添加了一个公式来生成新的订单号。每次添加新响应时。

=arrayformula( if( len(A2:A), "Order " & text(row(A2:A) - row(A2) + 1, "022"), iferror(1/0) ) )

我需要使用带有新订单号的选项卡名称创建新工作表。并将列与响应输入一起转换为它们。

例如回复表格

    Column B  | Column C |  Column D      |Column E   |Column F
    Order no. | Location |  Delivery Date | Product 1 | Product 2
    Order 122 | XYZ      |  2/16/2017     | 35kg      | 45kg

生成的新工作表名为"订单122"

Order no.     | Order 122
Location      | XYZ
Delivery Date | 2/16/2017
Product 1     | 35kg
Product 2     | 45kg

以及要发送给电子邮件的通知。

这是否可以使用谷歌电子表格,如果是这样,请告诉我如何做到这一点。提前谢谢。

我正在使用以下内容创建一个以订单号命名的新工作表。但它似乎没有基于这个article工作。

function subTheForm(){
  Logger.log('submit ran');

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var lastRow = sheet.getLastRow();
  var colB_Data = sheet.getRange(lastRow, 2).getValue();
  ss.insertSheet(colB_Data);

};

运行脚本时出现此错误

The sheet name cannot be empty. (line 9, file "Code")

1 个答案:

答案 0 :(得分:0)

解决。

我使用了以下与我发布的相似的代码。出于某种原因,我不断收到错误,清除了回复,删除并重新创建了脚本和触发器,并且工作正常。

function onSubmit(e){
  Logger.log('submit ran');

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  //Get last row of data
  var lastRow = sheet.getLastRow();
  var colB_Data = sheet.getRange(lastRow, 2).getValue();

  ss.insertSheet(colB_Data);
};