This article provides a method you can use to automatically display dates in arabic ordinal form (sometimes referred to as legal form) using Word form fields.
The following are examples of dates in ordinal form (ordinal numbers indicate the order in an ordered sequence):
23rd day of February, 1999
March 21st, 1999
Tuesday the 15th, 1999
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
The following macro retrieves the valid date result typed into a form field, extracts the day from the date, and determines the ordinal based upon that day. The macro finishes by returning the new Date formatting to the form field using the Visual Basic for Applications Format function.
Sub GetOrdinalDates()
Dim fDate As FormField
' If no documents are open or if no form fields
' exist in the active document, or for other
' errors, exit this routine.
On Error GoTo errhandler
' Replace the word Date with the name of your
' form field with your formfield bookmark name.
Set fDate = ActiveDocument.FormFields("Date")
' Is the result of the form field a valid date?
If Not IsDate(fDate.Result) Then Exit Sub
' Determine date format.
Select Case Day(fDate.Result)
Case 1, 21, 31
daysuffix$ = Day(fDate.Result) & "st"
Case 2, 22
daysuffix$ = Day(fDate.Result) & "nd"
Case 3, 23
daysuffix$ = Day(fDate.Result) & "rd"
Case Else
daysuffix$ = Day(fDate.Result) & "th"
End Select
' Use ONE of the following formats.
' Remove the remark(apostrophe) from the
' command lines that produce the desired format.
' -----------------------------------------------
' - Format example: 24th day of February, 1999
' fDate.Result = daysuffix$ & " day of " _
' & Format$(fDate.Result, "mmmm, yyyy")
' - Format example: February 24th, 1999
' fDate.Result = Format$(fDate.Result, "mmmm") & " " & _
' daysuffix$ & Format$(fDate.Result, ", yyyy")
' - Format example: Tuesday the 24th, 1999
' fDate.Result = Format$(fDate.Result, "dddd") & " the " & _
' daysuffix$ & Format$(fDate.Result, ", yyyy")
errhandler:
End Sub
For more information about how to use the sample code in this article, click
the article number below to view the article in the Microsoft Knowledge
Base:
212536
(http://support.microsoft.com/kb/212536/EN-US/
)
OFF2000: How to Run Sample Code from Knowledge Base Articles