If you create a VBA macro to format the date, and then save your document as a macro-enabled template, AND set the macro to run automatically when you create a new document from this template...it could work.
I tested it but the only way I could figure out to get it to only format the 2nd date occurrence was to insert a bookmark called ReceivedDate (highlight the entire date text that will need to be replaced, go to Insert -> Bookmarks).
I also could only get it to work automatically when creating a new document from the template (AutoNew). Not the AutoExec version (opening existing document), because it tries to load the macro before the bookmark is loaded. Of course, you can always put it on a button and click it to run manually.
Code: Select all
Sub AutoNew()
Selection.GoTo What:=wdGoToBookmark, Name:="ReceivedDate"
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "([0-9]{1,2})[/]([0-9]{1,2})[/]([0-9]{4})"
.Format = True
.Forward = True
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceNone
Selection.Text = Format(Selection.Text, "mmmm d, yyyy")
Selection.Collapse wdCollapseEnd
End Sub
Or it might be easier to find whoever is responsible for that 3rd-party program and have them create a different token with the new date formatting