Microsoft KB Archive/121983

= Using a Macro to Insert a Custom Formatted Date =

Article ID: 121983

Article Last Modified on 8/16/2005

-

APPLIES TO


 * Microsoft Word 6.0 Standard Edition
 * Microsoft Word 6.0a
 * Microsoft Word 6.0c
 * Microsoft Word 95 Standard Edition

-



This article was previously published under Q121983





SUMMARY
This article describes how to write a macro that prompts you to enter a number of days from the current day and then inserts the resulting date in a custom format.



MORE INFORMATION
WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this macro code "as is" without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

 From the Tools menu, choose Macro. Type a name for the new macro and choose the Create button. In the macro editing window, enter the text below. (Sub MAIN and End Sub are already listed.)

Word 7.0
Sub MAIN Defaultdate$=GetPrivateProfileString$(    "HKEY_CURRENT_USER\software\Micr soft\Word\7.0\Options","dateformat",      "") SetPrivateProfileString(    "HKEY_CURRENT_USER\software\Microsoft\Word\7.0 Options", "dateformat",     "MMMM d,yyyy", "") Days$ = InputBox$("Please enter the number of days from Today ") NumDays = Val(days$) serialEndDate = Now + numDays EndDate$ = Date$(serialEndDate) Insert enddate$ SetPrivateProfileString "HKEY_CURRENT_USER\software\Microsoft\Word\7.0\Options", "dateformat", "defaultdate$", "" End Sub

This macro prompts you to enter a number of days from today and then inserts the resulting dat in "MMMM d, yyyy"(December 31, 2000) format.

Word 6.0
Sub MAIN Defaultdate$ = GetPrivateProfileString$("microsoft word",    "dateformat","winword6.ini") SetPrivateProfileString "microsoft word", "dateformat", "MMMM d,    yyyy","winword6.ini" Days$ = InputBox$("Please enter the number of days from today") NumDays = Val(days$) SerialEndDate = Now + numDays EndDate$ = Date$(serialEndDate) Insert enddate$ SetPrivateProfileString "microsoft word", "dateformat", defaultdate$, "winword6.ini" End Sub

This macro prompts you to enter a number of days from today and then inserts the resulting date in "MMMM d, yyyy"(December 31, 2000) format. From the File menu, choose Close, and be sure to save the changes to the macro. To run the macro, choose Macro from the Tools menu, select the macro name you assigned in step 1, and choose the Run button.

To insert a date for 30 days from today, use the following macro:

Word 7.0
Sub MAIN Defaultdate$ = GetPrivateProfileString$ (HKEY_CURRENT_USER\software\Microsoft\Word\7.0\Options", "dateformat",    "")    SetPrivateProfileString     "HKEY_CURRENT_USER\software\Microsoft\Word\7.0\Options", "dateformat",      MMM d, yyyy", "" NumDays = 30 SerialEndDate = Now + NumDays EndDate$ = Date$(serialEndDate) Insert enddate$ SetPrivateProfileString "HKEY_CURRENT_USER\software\Microsoft\Word\7.0\Options", "dateformat", "defaultdate$", "" End Sub

Word 6.0
Sub MAIN Defaultdate$ = GetPrivateProfileString$("microsoft word",  "dateformat","winword6.ini") SetPrivateProfileString "microsoft word", "dateformat", "MMMM d,  yyyy", "winword6.ini" NumDays = 30 SerialEndDate = Now + numDays EndDate$ = Date$(serialEndDate) Insert enddate$ SetPrivateProfileString "microsoft word", "dateformat", defaultdate$, "winword6.ini" End Sub

Additional query words: 6.0 word6 7.0 word95 word7 winword

Keywords: kbmacroexample KB121983

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.