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

如何使用time trigger实现每日自动复制spreadsheet并执行指定操作

Google Sheets 每日自动备份锁定清理实现方案

核心实现逻辑

基于Google Apps Script编写自动化脚本,搭配时间触发器实现每日凌晨自动执行,完整脚本如下:

function dailyBackupAndClean() {
  // 请替换为你实际的主工作表名称
  const MAIN_SHEET_NAME = "主工作表";
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const mainSheet = ss.getSheetByName(MAIN_SHEET_NAME);

  // 1. 生成带当前日期的副本
  const today = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd");
  const backupSs = ss.makeCopy(today);
  
  // 2. 锁定备份文件所有工作表,仅所有者可编辑
  const backupSheets = backupSs.getSheets();
  backupSheets.forEach(sheet => {
    const protection = sheet.protect();
    protection.removeEditors(protection.getEditors());
    if (protection.canDomainEdit()) {
      protection.setDomainEdit(false);
    }
  });

  // 3. 清空主工作表除第一行外的所有内容,如需调整保留区域可修改下方范围参数
  if (mainSheet.getLastRow() > 1) {
    const clearRange = mainSheet.getRange(2, 1, mainSheet.getLastRow() - 1, mainSheet.getLastColumn());
    clearRange.clearContent();
  }
}

配置步骤

  • 打开你要设置的Google Sheets文件,点击顶部「扩展程序」->「Apps Script」进入脚本编辑器
  • 将上述代码粘贴到编辑区,修改MAIN_SHEET_NAME的值为你实际的主工作表名称,点击保存按钮给项目命名
  • 点击左侧菜单栏的时钟图标进入触发器页面,点击右下角「添加触发器」
    • 选择运行函数:dailyBackupAndClean
    • 事件源选择「时间驱动」
    • 触发器类型选择「日计时器」
    • 时间范围选择你需要的凌晨时段(比如午夜1点到2点)
    • 保存后按照页面提示完成权限授权即可

注意事项

  • 首次配置完成后建议手动运行一次dailyBackupAndClean函数,确认权限授权成功、功能运行符合预期
  • 如果你需要保留的不是第一行,而是其他固定区域,调整代码中getRange的参数即可修改清空范围
  • 备份文件默认生成在你的Google Drive根目录,可在makeCopy方法中传入文件夹参数指定存放路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:24:04