Javascript 为谷歌表单编写脚本,在提交的每个新表单上给出一个特定的数字,仅用于电子表格的一张表单。

Javascript 为谷歌表单编写脚本,在提交的每个新表单上给出一个特定的数字,仅用于电子表格的一张表单。,javascript,forms,google-sheets,Javascript,Forms,Google Sheets,首先,感谢大家的参与,我的大部分答案都已经在这个堆栈中回复了 因此,我希望在一个特定的列中,为提交的每个新表单提供一个特定的编号(如每个表单的跟踪编号) 我编写了这段代码,它完美地满足了我的需求: function onFormSubmit(e) { var sheet = SpreadsheetApp.getActiveSheet(); var row = SpreadsheetApp.getActiveSheet().getLastRow(); sheet.getRange(row,1).

首先,感谢大家的参与,我的大部分答案都已经在这个堆栈中回复了

因此,我希望在一个特定的列中,为提交的每个新表单提供一个特定的编号(如每个表单的跟踪编号)

我编写了这段代码,它完美地满足了我的需求:

function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var row =  SpreadsheetApp.getActiveSheet().getLastRow();
sheet.getRange(row,1).setValue(row+10071);
}
但我的问题是,这是在我的电子表格的所有工作表,我只希望它在一个特定的表。因此,我尝试使用getSheetByName,如下所示:

 function onFormSubmit(e) {
var sheet = SpreadsheetApp.getSheetByName(mysheetname);
var mysheetname="Module2"
var row =  SpreadsheetApp.getSheetByName().getLastRow();
sheet.getRange(row,1).setValue(row+10071);
}
但这根本不起作用

对不起,我的英语不好,但我已经尽力说清楚了。 如果有人能帮助我,我将非常感激。 问候


Paul

或许可以尝试添加一个
IF
以将编号仅限于该工作表:
IF(sheet.getName()=“*您的工作表名*”)

因此,总的来说是:

function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var row = SpreadsheetApp.getActiveSheet().getLastRow();
if (sheet.getName() = "*your sheet name*") {
  sheet.getRange(row,1).setValue(row+10071);
  }
}

您是否可以使用虚拟数据共享工作表的副本?你的代码似乎很适合我,只要在一张纸上写一个身份证号码。除非我看到你的,否则我无法说出与我们的实现有什么不同。请在我的电子表格下面找到我的问题。如何使此脚本仅在我的“模块”工作表中工作,而不在电子表格的其他工作表中工作?