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

使用Google Script查找并替换谷歌文档首页页脚的最后修改日期

Google Doc首页页脚修改日期自动更新脚本实现

需求

编写Google Script脚本,在不破坏Google Doc现有格式的前提下,查找替换设置了「首页不同」的文档首页页脚内的最后修改日期,将其更新为文档的最新修改时间。

初始错误代码

function lastEdited() {
  var doc = DocumentApp.getActiveDocument();
  var id = doc.getId();
  var file = Drive.Files.get(id);
  var footer = doc.getFooter();
  var date = file.modifiedDate;
  var first_footer = footer.getParent().getChild(2);
  first_footer.replaceText("^\d[0-9]*\/\d[0-9]*\/\d{4}$", Utilities.formatDate(new Date(date), 'GMT+5', 'YYYY/MM/dd'));
}

错误原因说明

  1. 调用Drive.Files.get()依赖高级Drive API服务,未提前开启的场景下会直接报错
  2. 首页页脚节点索引取值错误,getChild(2)无法命中开启「首页不同」设置后的首页页脚对象
  3. 正则表达式适配性差,仅支持全内容为日期的场景,无法匹配页脚内混有其他内容的日期

可正常运行的最终代码

function lastedited(){
  var doc    = DocumentApp.getActiveDocument();
  var id     = doc.getId();
  var file   = DriveApp.getFileById(id);
  var date   = file.getLastUpdated();
  var footer = doc.getFooter();
  var first_footer = footer.getParent().getChild(4);
  var regExp = "[0-9]*[\/\-][0-9]*[\/\-][0-9][0-9][0-9][0-9]";
  var date_srting  = Utilities.formatDate(new Date(date), 'GMT-4', 'MM/dd/YYYY');
  first_footer.replaceText(regExp,date_srting);
}

调整说明

  • 改用原生内置的DriveApp.getFileById()方法获取文件对象,无需额外开启高级服务即可运行
  • 修正首页页脚节点索引为getChild(4),可正确读取「首页不同」设置下的独立首页页脚内容
  • 优化正则规则,支持匹配用/或-作为分隔符的任意位置日期,适配更多页脚排版场景
  • 时区可根据自身所在区域调整,国内用户可将GMT-4修改为GMT+8适配北京时间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:45:05