You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apps Script开发需求:自动生成下一个作业编码并命名表格文件

实现自动生成作业编码并重命名表格的Apps Script方案

核心代码实现

function generateAndRenameSheet() {
  // 替换成你的目标文件夹ID(从文件夹URL末尾获取)
  const FOLDER_ID = "你的文件夹ID";
  const folder = DriveApp.getFolderById(FOLDER_ID);
  const files = folder.getFilesByType(MimeType.GOOGLE_SHEETS);
  
  let maxCode = 0;
  
  // 遍历文件夹内所有表格文件
  while (files.hasNext()) {
    const file = files.next();
    const fileName = file.getName();
    // 匹配文件名开头的4-5位数字编码
    const codeMatch = fileName.match(/^(\d{4,5})/);
    
    if (codeMatch) {
      const code = parseInt(codeMatch[1], 10);
      if (code > maxCode) {
        maxCode = code;
      }
    }
  }
  
  // 生成新的5位编码(不足位数补前导0)
  const newCode = String(maxCode + 1).padStart(5, '0');
  
  // 获取当前活跃表格
  const currentSheet = SpreadsheetApp.getActiveSpreadsheet();
  // 从指定单元格读取作业名称和客户名称(可根据需求调整单元格位置)
  const jobName = currentSheet.getRange("A1").getValue() || "未命名作业";
  const clientName = currentSheet.getRange("B1").getValue() || "未命名客户";
  
  // 重命名当前表格文件
  currentSheet.rename(`${newCode} ${jobName} ${clientName}`);
  
  // 可选:将新编码写入指定单元格留存
  currentSheet.getRange("C1").setValue(newCode);
  SpreadsheetApp.getUi().alert(`新编码生成完成:${newCode}\n文件已自动重命名`);
}

操作步骤

  • 获取文件夹ID:打开目标存储文件夹,复制URL末尾的一串字符(如https://drive.google.com/drive/folders/XXXXXX中的XXXXXX),替换代码里的FOLDER_ID。
  • 绑定脚本到按钮:
    1. 在Sheets中点击「插入」→「绘图」,绘制一个自定义按钮(比如文本设为“生成编码并重命名”),保存后关闭绘图界面。
    2. 右键点击刚插入的按钮,选择「分配脚本」,输入函数名generateAndRenameSheet并确认。
  • 配置输入源:如果需要自动读取作业/客户名称,提前在表格对应单元格(如A1、B1)填写内容;若需要弹窗手动输入,可把读取单元格的代码替换为SpreadsheetApp.getUi().prompt()逻辑。

关键逻辑说明

  • 数字匹配:用正则表达式/^(\d{4,5})/精准匹配文件名开头的4-5位数字编码,避免误提取其他数字。
  • 编码格式化:通过padStart(5, '0')确保生成的编码始终为5位,比如123会自动转为00123。
  • 权限授权:首次运行脚本会触发权限申请,允许脚本访问Drive和Sheets即可,属于正常操作。

测试提示

  • 先在测试文件夹中放入几个模拟文件名(如1234 测试作业 测试客户、05678 测试作业2 测试客户2),运行脚本验证编码生成是否正确。
  • 若文件夹无现有文件,会自动生成初始编码00001。

内容的提问来源于stack exchange,提问作者Andy Steinhauer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:22:51