Here is another suggestion:
Create the following field code and save it in normal template AutoText buildingblock gallery usingthe name "DocVariableDate"
{DocVariable Date \@ DD \*OrdText \*FirstCap } day of { DocVariable Date \@ MMMM}, { =({ DocVariable Date \@ YYYY} - { DocVariable Date \@ YY }) \*CardText\*Caps } { IF { DocVariable Date \@ YY } > 0 "and { DocVariable Date \@YY \*CardText \*Caps }""" }
At a Date content control titled "Spelled Out Date" and define the UK date format property.
Add the following code to the ThisDocument Module
Option Explicit
Private Sub Document_ContentControlOnEnter(ByVal CC As ContentControl)
Select Case CC.Title
Case "Spelled Out Date"
CC.Range.Text = vbNullString
CC.Type = wdContentControlDate
End Select
lbl_Exit:
Exit Sub
End Sub
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Select Case CC.Title
Case "Spelled Out Date"
If IsDate(CC.Range.Text) Then
CC.Type = wdContentControlRichText
ActiveDocument.Variables("Date").Value = CC.Range.Text
NormalTemplate.BuildingBlockEntries("DocVariableDate").Insert Where:=CC.Range, RichText:=True
End If
End Select
lbl_Exit:
Exit Sub
End Sub