Written by Allen Wyatt (last updated January 22, 2022)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365
Michael can use a field to insert a date and time into a document. He would like, however, to insert the "time remaining" until some date and time in the future. For instance, if the future date and time is 6:00 am on December 1, the "time remaining" would show as "DDD:HH:MM (Dec. 1, 2022 6:00 am)," with DDD being days, HH being hours, and MM being minutes.
This cannot be done using fields, but it can be done using a macro. And, you can make it at least semi-automatic if your macro relies upon the use of document variables. Consider the following rather short macro:
Sub CalcDateInterval() Dim dTargetDate As Date Dim dFromNow As Date Dim sTemp As String Dim v As Variable dTargetDate = DateValue("1 December 2022") + TimeValue("6:00:00 AM") dFromNow = dTargetDate - Now() sTemp = Format(Int(dFromNow), "#,##0") _ & Format(dFromNow, ":hh:mm") & " " _ & Format(dTargetDate, "(mmm. d, yyyy h:mm am/pm)") For Each v In ActiveDocument.Variables If v.Name = "CountDown" Then v.Delete Next v ActiveDocument.Variables.Add Name:="CountDown", Value:=sTemp End Sub
The macro uses the future date and time (set in the dTargetDate variable) to calculate the number of days, hours, and minutes between now and then. This information is then formatted into the desired text string and placed into a document variable named CountDown.
Since the desired information is in a document variable, you can now use a field to reference the value of that variable. Here is the format of the field you would use:
{ DOCVARIABLE "CountDown" }
Every time you want to recalculate the countdown value, just re-run CalcDateInterval and update your fields. You could, if desired, set up CalcDateInterval as part of an event handler (so it is run automatically based on whatever event is being handled), but you will still need to update the fields to see the result in your document.
Remember, as well, that the countdown value (the string put together according to your desires) will not be "live"; it won't show an actual countdown that updates every minute. The value returned by the DOCVARIABLE field will only update when you update fields, and that is predicated on the updating of the actual document variable by using the CalcDateInterval macro.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (12822) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365.
The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!
One way to specify word count is to count characters and divide by five. If you still need this old-fashioned way of ...
Discover MoreIf you write a macro that makes changes to a document, you may want that macro to save those changes. There are several ...
Discover MoreWord makes it easy to insert today's date in a document, but not as easy to insert a date X number of days in the future. ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments