我是编写代码的新手,理解有限,所以请温柔!我一直在尝试扩展在这个问题上所做的代码。
我取得的成功有限,现在陷入困境,我希望有人能善意地指出我正确的方向或告诉我我做错了什么。
所以,场景:需要有一个自动递增的“工作参考”来预订我工作的 IT 部门的上网本维修。此预订是通过 Google 表单进行的,我可以让链接中的代码完美运行,但是!我希望不仅仅是一个简单的计数 - 1,2,3,4,5 等等。理想情况下,作业参考将显示为 JR0001、JR0002 等。
所以,我的代码尝试!
用户:自己提交的代码完美运行。
function onFormSubmit(e) {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSheet();
// Get the active row
var row = sheet.getActiveCell().getRowIndex();
// Get the next ID value. NOTE: This cell should be set to: =MAX(A:A)+1
var id = sheet.getRange("P1").getValue();
// Check of ID column is empty
if (sheet.getRange(row, 1).getValue() == "") {
// Set new ID value
sheet.getRange(row, 1).setValue(id);
}
}
我尝试的第一件事是简单地添加另一个变量并将其添加到 .setValue
function onFormSubmit(e) {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSheet();
// Get the active row
var row = sheet.getActiveCell().getRowIndex();
// Get the next ID value. NOTE: This cell should be set to: =MAX(A:A)+1
var id = sheet.getRange("X1").getValue();
// Set Job Reference
var jobref = "JR";
// Check of ID column is empty
if (sheet.getRange(row, 1).getValue() == "") {
// Set new ID value
sheet.getRange(row, 1).setValue(jobref+id);
}
}
就获得“JR1”而不是1而言,这有效,但自动增量停止工作,因此对于提交的每个表单我仍然有“JR1” - 不是真正的自动增量!
然后我尝试从工作表中设置另一个 .getValue 作为 Job Ref
function onFormSubmit(e) {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSheet();
// Get the active row
var row = sheet.getActiveCell().getRowIndex();
// Get the next ID value. NOTE: This cell should be set to: =MAX(A:A)+1
var id = sheet.getRange("X1").getValue();
// Set Job Reference
var jobref = sheet.getRange("X2").getValue();
// Check of ID column is empty
if (sheet.getRange(row, 1).getValue() == "") {
// Set new ID value
sheet.getRange(row, 1).setValue(jobref+id);
}
}
相同的结果 - 非递增的“JR1”
然后我尝试将工作递增数字与我的工作参考单元格连接起来,然后在脚本中调用它。
function onFormSubmit(e) {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSheet();
// Set Job Reference
var jobref = sheet.getRange("X2").getValue();
// Get the active row
var row = sheet.getActiveCell().getRowIndex();
// Get the next ID value. NOTE: This cell should be set to: =MAX(A:A)+1
var id = sheet.getRange("X1").getValue();
// Check of ID column is empty
if (sheet.getRange(row, 1).getValue() == "") {
// Set new ID value
sheet.getRange(row, 1).setValue(jobref);
}
}
相同的结果值不会增加
如果我添加其他变量并且不明白如何将前导零添加到递增的数字,我不明白为什么数字会停止递增。我觉得我试图把事情复杂化!
所以总而言之,有没有一种方法可以获得一个 6 个字符长的自动递增 ref - 在这种情况下,首先形成 JR0001,然后提交 JR0002,依此类推。
如果可能的话,我真的很想知道我哪里出错了,我确实想学习,但我显然错过了一些关键原则。