谷歌工作表脚本增量不是按照预期的方式工作,而是它的衔接



Google Sheet Script应该将列1的值增加1,但它是串联的1。我不擅长谷歌脚本。你能帮我找出我做错了什么吗。

function onFormSubmit(e) {
var columnNumber = 1; // first col is 0
var initialId = 18;   
var sp = PropertiesService.getScriptProperties();
var id = sp.getProperty("req_id") || initialId ;
id = id.split(".")[0] ;
e.range.offset(0, columnNumber, 1, 1).setValue(id);
sp.setProperty("req_id", id + 1);
}

纸张中的输出如下

1811
18111
181111
18111111
  • 您希望将值放入单元格,并希望每次运行都添加1
  • 您想在这种情况下使用属性服务

如果我的理解是正确的,这个答案怎么样?请将此视为几种可能的答案之一。

修改要点:

  • 我认为问题的原因是getProperty()检索到的值是字符串类型。在这种情况下,即使用setProperty()输入数字,当用getProperty()检索值时,检索到的值也是字符串类型
  • 当编号用于split()时,会发生错误。因为split()用于字符串

修改的脚本:

当您的脚本被修改时,它变成如下。

function onFormSubmit(e) {
var columnNumber = 1; // first col is 0
var initialId = 18;
var sp = PropertiesService.getScriptProperties();
var id = Number(sp.getProperty("req_id")) || initialId; // Modified
e.range.offset(0, columnNumber, 1, 1).setValue(id);
sp.setProperty("req_id", id + 1);
}

参考文献:

  • getProperty(key(
  • split((
  • 数字

如果我误解了你的问题,而这不是你想要的结果,我道歉。

相关内容

  • 没有找到相关文章

最新更新