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

如何让Google Sheet变更日志追踪行删除操作?

如何在Google表格变更日志中追踪行删除操作

你的onEdit脚本属于简单触发器,仅能响应单元格的编辑(输入、修改)操作,无法捕获行删除这类变更。要实现行删除的追踪,需要使用可安装的 onChange 触发器——它能监听电子表格的更多事件类型,包括行/列删除、格式更改等。

完整解决方案脚本

替换原脚本为以下代码,既保留原有的单元格编辑追踪逻辑,又新增行删除记录功能:

// 保留原有的单元格编辑追踪
function onEdit(e){
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheetNameTracker = ss.getActiveSheet().getName();
    if (sheetNameTracker !== "Changelog") {
        let sheet = ss.getSheetByName('Changelog');
        var range = e.range.getA1Notation();
        var user = e.user?.getUsername() || '未知用户';  
        var function_source = "onEdit";
        var time = new Date();
        var changeType = 'EDIT';
        var oldValue = e.oldValue;
        var newValue = e.value;
        var lastRow = sheet.getLastRow();
        sheet.getRange(lastRow+1,1,1,8).setValues([[time.toLocaleString(),function_source,changeType,sheetNameTracker,range,user,oldValue,newValue]]);
    } 
}

// 新增行删除追踪的 onChange 函数
function onChange(e) {
    const ss = e.source;
    const changelogSheet = ss.getSheetByName('Changelog');
    if (!changelogSheet || e.changeType !== 'REMOVE_ROW') return;

    const time = new Date();
    const functionSource = "onChange";
    const changeType = 'DELETE_ROW';
    const sheetName = e.range.getSheet().getName();
    const deletedRange = e.range.getA1Notation();
    const user = Session.getActiveUser().getUsername() || '未知用户';

    // 记录行删除信息,如需追踪被删行具体内容,可参考下方进阶优化
    const lastRow = changelogSheet.getLastRow();
    changelogSheet.getRange(lastRow + 1, 1, 1, 8).setValues([
        [time.toLocaleString(), functionSource, changeType, sheetName, deletedRange, user, '整行删除', '无']
    ]);
}

配置可安装触发器

onChange是可安装触发器,无法自动生效,需手动配置:

  • 打开Google表格的脚本编辑器(工具 > 脚本编辑器)
  • 点击左侧菜单栏的「触发器」图标(时钟形状)
  • 点击「添加触发器」按钮
  • 配置参数:
    • 要运行的函数:onChange
    • 部署来源:从电子表格
    • 事件类型:更改
  • 点击「保存」,按提示完成权限授权

进阶优化(可选)

如果需要记录被删除行的具体内容,需要提前缓存工作表的行数据(比如用PropertiesService或隐藏表存储数据快照),在onChange触发时对比快照获取被删内容。该操作会增加复杂度,基础版本已能满足「记录删除操作发生」的核心需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:02:56