一次将多个提交到电子表格时由 OnFormSubmit 触发的功能问题
Problem with function triggered by OnFormSubmit when multiple are submited at once to spreadsheet
我有一个 Google 脚本函数可以按预期工作,但是当一次收到许多表单提交时,我 运行 在复制数据时遇到问题。
如果数据传入速度足够快,错误信息可能会复制到另一个 sheet。
这是一个示例集。我一次提交了 4 个表格,数据都很好。
然而,当由 OnFormSubmit
触发的脚本 运行 它设法复制其中一行数据两次覆盖另一行。
正如您在下面看到的,数据 4
和 44
被复制了两次并且缺少 2
和 22
数据。
所以我的问题是:
有没有办法防止这种信息重复。如果一个已经 运行ning?
代码如下:
function Auto_move_form_data() {
var form_name = "Form Responses 1";
var open_name = "OPEN";
var workbook = SpreadsheetApp.getActiveSpreadsheet();
var form_ws = workbook.getSheetByName(form_name);
var open_ws = workbook.getSheetByName(open_name);
var form_last_row = form_ws.getLastRow()
var open_last_row = open_ws.getLastRow()
form_ws.getRange(form_last_row,2).copyTo(open_ws.getRange(open_last_row+1,1), {contentsOnly:true});
form_ws.getRange(form_last_row,3).copyTo(open_ws.getRange(open_last_row+1,3), {contentsOnly:true});
}
试试这个:
为以下函数创建一个 onFormSubmit 触发器。
function Auto_move_form_data(e) {
var dsh= SpreadsheetApp.getActive().getSheetByName("OPEN");
dsh.appendRow([e.values[2],'',e.values[3]]);
}
我有一个 Google 脚本函数可以按预期工作,但是当一次收到许多表单提交时,我 运行 在复制数据时遇到问题。
如果数据传入速度足够快,错误信息可能会复制到另一个 sheet。
这是一个示例集。我一次提交了 4 个表格,数据都很好。
然而,当由 OnFormSubmit
触发的脚本 运行 它设法复制其中一行数据两次覆盖另一行。
正如您在下面看到的,数据 4
和 44
被复制了两次并且缺少 2
和 22
数据。
所以我的问题是:
有没有办法防止这种信息重复。如果一个已经 运行ning?
代码如下:
function Auto_move_form_data() {
var form_name = "Form Responses 1";
var open_name = "OPEN";
var workbook = SpreadsheetApp.getActiveSpreadsheet();
var form_ws = workbook.getSheetByName(form_name);
var open_ws = workbook.getSheetByName(open_name);
var form_last_row = form_ws.getLastRow()
var open_last_row = open_ws.getLastRow()
form_ws.getRange(form_last_row,2).copyTo(open_ws.getRange(open_last_row+1,1), {contentsOnly:true});
form_ws.getRange(form_last_row,3).copyTo(open_ws.getRange(open_last_row+1,3), {contentsOnly:true});
}
试试这个:
为以下函数创建一个 onFormSubmit 触发器。
function Auto_move_form_data(e) {
var dsh= SpreadsheetApp.getActive().getSheetByName("OPEN");
dsh.appendRow([e.values[2],'',e.values[3]]);
}