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

求获取指定Google Sheet工作簿最后修改时间的脚本方案

批量获取Google Sheet工作簿最后修改时间脚本

直接用Google Apps Script就能实现需求,以下是完整代码:

function getLastModifiedTimes() {
  // 获取目标工作表
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName("Planner Directory");
  
  // 获取E列中所有非空的工作簿ID(默认第1行是表头,从第2行开始读取)
  const idRange = sheet.getRange("E2:E").getValues();
  const lastRow = sheet.getLastRow();
  
  // 遍历每个ID,获取最后修改时间并写入F列
  for (let i = 0; i < lastRow - 1; i++) {
    const fileId = idRange[i][0];
    if (!fileId) continue; // 跳过空单元格
    
    try {
      // 通过ID获取文件并提取最后修改时间
      const file = DriveApp.getFileById(fileId);
      const lastModified = file.getLastUpdated();
      // 写入对应行的F列
      sheet.getRange(i + 2, 6).setValue(lastModified);
      
      // 每处理10个文件暂停1秒,避免触发谷歌服务配额限制
      if (i % 10 === 0) SpreadsheetApp.flush();
    } catch (e) {
      // 处理无效ID或无权限的情况,写入提示文本
      sheet.getRange(i + 2, 6).setValue("无效ID/无权限");
    }
  }
}

使用步骤:

  • 打开包含「Planner Directory」工作表的谷歌表格
  • 点击顶部菜单栏的「工具」→「脚本编辑器」
  • 删除编辑器里的默认代码,粘贴上面的脚本
  • 点击编辑器顶部的运行按钮(▶️),首次运行需要授权:按提示点击「查看权限」→选择你的谷歌账号→点击「高级」→「前往XXX脚本(不安全)」→允许权限
  • 运行完成后回到表格,F列就会自动填充对应工作簿的最后修改时间

注意事项:

  • 确保你对E列中的所有工作簿ID拥有查看权限,否则会返回「无效ID/无权限」
  • 如果E列数据量超过100条,脚本可能需要分批次运行,或者调整暂停时间避免配额限制
  • 若你的数据起始行不是第2行,修改代码中的E2:E和i + 2对应数值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 03:18:16