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.
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.
Learn more about Allen...
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: Forcing the Date to the Next Wednesday.
When Alastair prints a document he wants to automatically set the date in that document to the date of the following Wednesday. For example, if today is Thursday the 13th, Alastair would want to display Wednesday the 19th if the document is printed now or on any day up to and including the 19th itself. From next Thursday (20th) Alastair would want the printed date to be the 26th, and so on.
There is no reasonable or convenient way to do this using fields in a document. (I have seem some "pick a future date" field combinations, but they are truly gigantic and not for casual use.) A better solution is to use a macro to insert, at the insertion point, the date of whatever the next Wednesday happens to be. The following is an example that shows how simple such a macro can be:
Sub ForceWednesday() Dim dMyDate As Date dMyDate = Date While WeekDay(dMyDate) <> 4 dMyDate = dMyDate + 1 Wend Selection.TypeText Text:=Format(dMyDate, "mmmm d, yyyy") End Sub
When you run the macro, it assigns the current date to the dMyDate variable. This variable is continually incremented until the weekday is 4 (a Wednesday). The date is then formatted and typed at the location of the insertion point.
The macro could be easily modified to always put the next Wednesday date in a specific place of the document. All you need to do is modify it so that it searches for, say, a bookmark and replaces the bookmark with the formatted date. You could even set up Word so that the macro is run during the BeforePrint event, which means it will be executed just before printing.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (3849) 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: Forcing the Date to the Next Wednesday.
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!