2017-02-16 48 views
0

我已经创建了捕获 1.位置(下拉列表), 2.交货日期(日期) 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") 
+0

查看insertSheet的文档。 –

+0

看起来ColB_Data是空的。仔细检查最后一行第二列是否为空。 –

回答

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); 
};