Home > front end >  Google Script - Find and Modify Date in Footer
Google Script - Find and Modify Date in Footer

Time:10-07

I'm trying to build a script to find and replace the last modified date in the first page footer (different first page) of a Google Doc without messing its current formatting. I want it to replace the date with the last modified date.

I'm sure I've made a number of mistakes, so any help would be much appreciated.

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'));
}

Edit:

This works

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);
}

CodePudding user response:

Probably you meant something like this:

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(3);
  var date_srting  = Utilities.formatDate(new Date(date), 'GMT 5', 'YYYY/MM/dd');

  first_footer.replaceText('^\\d{2,}\\/\\d{2,}\\/\\d{4}$', date_srting);
}
  • Related