Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Calculating Dates with Fields.

Calculating Dates with Fields

by Allen Wyatt
(last updated January 27, 2017)

1

Aidan asked if it is possible to calculate dates using fields. Seems he wants a date that is two weeks in the future, and thought there must be an easy way to calculate such a future date using fields. Unfortunately, there is no easy way. While Word allows you to do simple calculations using numeric values in fields, it does not allow you to perform such calculations using dates instead of numbers.

You can, however, pull dates apart into their intrinsic portions (months, days, and years), and then do your calculations, but this introduces whole new problems. All of a sudden you need to be concerned with what happens when you "roll" past the end of a month or year. The math involved in doing such a calculation is not trivial. As an example, consider the following compound field:

{QUOTE "{SET Delay "14"}{SET "DaysInMonth" {IF {DATE \@ "MM"}
<> 2 {=ROUND(30.575*{DATE \@ "MM"},0)-ROUND(30.575*{= {DATE \@
"MM"} –1},0)}{IF {=MOD({DATE \@ "yy"|, 4)} > 0 "28" "29"}}}{SET
"NextMonth" {IF {DATE \@ "MM"} = 12 "1/97" "{= {DATE \@ "MM"}
+ 1}/97}}{IF {= {REF Delay} + {DATE \@ "dd"}} <= {DaysInMonth}
{DATE \@ "MMMM {= {REF Delay} + {DATE \@ "dd"}}, yyyy"}{QUOTE
"{NextMonth \@ "MMMM"} {= {REF Delay} + {DATE \@ "dd"} –
{DaysInMonth}}, {IF {DATE \@ "MM"} <> 12 {DATE \@ "yyyy"}{DATE
\@ "{= 1 + {DATE \@ "yyyy"} \# "xxxx"}" }}}}"}

This will return the date in two weeks time (specified in the first line where the Delay value is set. The drawback, of course, is the compound nature of the field—there are over 30 different fields just within this compound field! Even this implementation, as formidable as it looks, will not handle leap years correctly in all instances. (It won't handle leap years correctly in century years divisible by 400.)

Is there an easy way to calculate future dates? Yes, there is—simply use macros. With just a couple of simple instructions you can make short work out of otherwise difficult date calculations. The way this is done was covered in an earlier WordTips; you can also find information at the following Word MVP page:

http://wordmvp.com/FAQs/MacrosVBA/DateOfPrevMonth.htm

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1579) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Calculating Dates with Fields.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Changing Link References

If you use UNC paths in your links to external information, those paths may need to be changed at some point. You can easily ...

Discover More

Default Headers and Footers

Changing the look of default headers and footers for your Excel workbooks.

Discover More

Storing a User's Location before Running a Macro

Macros are often used to process information in a workbook. If your macro makes changes in what is selected in the workbook, ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More WordTips (menu)

Locking a Field

When you use fields in your document, you may want them to not change from a particular displayed result. You can lock ...

Discover More

Inserting the Total Number of Pages in Your Document

Word keeps track of many statistics for each of your documents. One statistic is the total number of pages in the printed ...

Discover More

Deleting All Fields

Fields can be a great way of adding small snippets of dynamic data to your documents. However, you may want to get rid of all ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is eight less than 9?

2012-10-11 00:36:33

Garry Robinson

I am inserting current date + 2 weeks using Access automation. The Access formula is DateAdd("w", 2, Date)


This Site

Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.