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

Google Sheets脚本报错:Sheet对象不存在getLastUpdated函数

问题解决:Google Sheets 获取最后修改信息脚本报错

错误原因

你遇到的TypeError: Cannot find function getLastUpdated in object Sheet错误,是因为**getLastUpdated()方法属于整个Spreadsheet文档对象,而非单个Sheet工作表对象**,你错误地在Sheet实例上调用了这个方法。

修正后的脚本

以下是修复错误并实现自动触发的完整代码:

function getLastModified() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getActiveSheet();
  // 调用文档对象的getLastUpdated()方法
  var lastModified = spreadsheet.getLastUpdated();
  var user = Session.getActiveUser().getEmail();
  var timeZone = Session.getTimeZone();
  var formattedDate = Utilities.formatDate(lastModified, timeZone, "MM/dd/yyyy HH:mm:ss");
  var message = "最后修改人:" + user + ",修改时间:" + formattedDate;
  sheet.getRange("I1").setValue(message);
}

// 编辑触发函数,实现自动更新
function onEdit(e) {
  getLastModified();
}

关键说明

  • 修复核心错误:将sheet.getLastUpdated()改为spreadsheet.getLastUpdated(),只有整个文档对象才拥有获取最后更新时间的方法。
  • 自动触发设置:
    • 简单触发器:直接使用onEdit函数,保存脚本后编辑工作表会自动执行,但存在权限限制,Session.getActiveUser()在外部编辑者场景下可能无法获取邮箱。
    • 可安装触发器:打开脚本编辑器→点击左侧「触发器」图标→添加触发器,选择getLastModified函数,事件类型设为「编辑时」,能稳定获取用户信息。
  • 自定义格式:消息文本已改为中文,你可修改MM/dd/yyyy HH:mm:ss来调整日期时间的显示格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:47:11