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

如何用Apps Script实现点击按钮复制日期工作表并更新C24日期

Google Apps Script 实现工作表复制并更新日期功能

以下是满足需求的Apps Script代码,实现点击按钮复制指定日期格式的工作表、命名为次日日期并更新指定单元格日期:

function copyAndUpdateSheet() {
  // 获取当前活动工作表(即点击按钮所在的原工作表)
  const originalSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const originalSheetName = originalSheet.getName();
  
  // 将原表名称的日期字符串转为Date对象(格式为MM/DD/YYYY)
  const originalDate = new Date(originalSheetName);
  if (isNaN(originalDate.getTime())) {
    SpreadsheetApp.getUi().alert("原工作表名称不是有效的MM/DD/YYYY格式日期!");
    return;
  }
  
  // 计算次日日期
  const nextDate = new Date(originalDate);
  nextDate.setDate(nextDate.getDate() + 1);
  
  // 将次日日期格式化为MM/DD/YYYY字符串,作为新表名称
  const newSheetName = Utilities.formatDate(nextDate, SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone(), "MM/dd/yyyy");
  
  // 复制原工作表到当前表格末尾
  const newSheet = originalSheet.copyTo(SpreadsheetApp.getActiveSpreadsheet());
  // 重命名新工作表
  newSheet.setName(newSheetName);
  
  // 更新新表中C24单元格的日期为次日
  const originalC24Date = originalSheet.getRange("C24").getValue();
  if (originalC24Date instanceof Date && !isNaN(originalC24Date.getTime())) {
    const newC24Date = new Date(originalC24Date);
    newC24Date.setDate(newC24Date.getDate() + 1);
    newSheet.getRange("C24").setValue(newC24Date);
  } else {
    SpreadsheetApp.getUi().alert("原工作表C24单元格不是有效的日期格式!");
  }
}

使用步骤:

  • 打开目标Google表格,点击顶部菜单栏扩展程序 > Apps 脚本,进入脚本编辑器
  • 将上述代码粘贴到编辑器中,保存项目(可自定义项目名称)
  • 返回表格,点击插入 > 绘图,绘制一个按钮样式的图形(比如带文字“复制并更新”的矩形),完成后点击图形右上角三点,选择分配脚本
  • 在弹出框中输入脚本函数名copyAndUpdateSheet,点击确定

代码说明:

  • 先获取原工作表及其名称,校验名称是否为有效日期格式
  • 计算次日日期并格式化,确保新表名称格式与原表一致
  • 复制工作表后重命名,同时检查原表C24单元格的日期有效性,同步更新为次日日期
  • 加入错误提示弹窗,避免因格式问题导致脚本执行失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:01:43