Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本/工作表在数据输入单元格后为其添加前缀_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Google脚本/工作表在数据输入单元格后为其添加前缀

Javascript Google脚本/工作表在数据输入单元格后为其添加前缀,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,目标 将前缀CSC1[前导零]添加到数字,如1291或12922或129223,这应适用于整列(F列) 使用零填充确保字符串总长度为=15,因此单元格值应为csc10000001291 用户只需输入1291,但我计划让脚本覆盖它,使单元格值csc10000001291 可以使用公式完成,但跨越两列,但更愿意使用一列,因为它看起来更整洁 e、 g[用户输入]=[最终单元格值] - 1291 = CSC100000001291 - 12922 = CSC100000012922 当前正在尝试解

目标

  • 将前缀CSC1[前导零]添加到数字,如1291或12922或129223,这应适用于整列(F列)
  • 使用零填充确保字符串总长度为=15,因此单元格值应为
    csc10000001291
  • 用户只需输入1291,但我计划让脚本覆盖它,使单元格值csc10000001291
  • 可以使用公式完成,但跨越两列,但更愿意使用一列,因为它看起来更整洁

    e、 g[用户输入]=[最终单元格值]

     - 1291 = CSC100000001291
     - 12922 = CSC100000012922
    
    当前正在尝试解决此问题,请使用以下方法:

    • 用于检查某人何时更新了单元格的
    • 添加前导零的步骤
    • 带有“CSC1”的前4个零(因为如果传递的是字符串而不是正则表达式,则只会替换第一个匹配项)
    • 更新编辑的单元格的步骤

    我可以确认这正是需要的,只需将第2行调整到我的相关列。我的理解是,您将单元格设置为15x零,然后将前4位数字替换为CSC1,但用户输入从何而来?@unstacked55我不确定我是否理解您为什么这样问。从问题标题“输入单元格后”,用户输入来自编辑单元格的用户。请帮我理解我在这里误解了什么。嗨,迭戈,是的,我正在试着进一步理解代码。代码的哪一部分引用了用户输入?@unstacked55用户输入是
    e.value
    。请看文档,其中描述了传递到
    onEdit(e)
    e
    function onEdit(e) {
      if (e.range.columnStart == 1) { // Column A
        const padded = e.value.padStart(15, 0);
        e.range.setValue(padded.replace('0000', 'CSC1'));
      }
    }