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: Saving in Document Format from a Macro.
by Allen Wyatt
(last updated June 26, 2018)
Anthony regularly imports multiple reports, in text files (i.e, filename.txt), into Word. He then uses macros to format this imported information. After the formatting macro is complete, Anthony manually uses "Save As" for each report to save it as a Word document. He is wondering what commands he should add to his macro to automate the last step of saving the data. Anthony would like to have the macro save the file using the same root name as the original text file, only changing it to Word format, as in filename.doc.
The steps to actually save the file are relatively easy. Consider the following code snippet, which saves a document in Word format:
ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
The name of the file is stored in the sDocName variable, and the setting for the FileFormat property indicates that you want the document saved in the Word format. In an existing macro, the only thing left to do would be to set up sDocName with the filename that is desired.
Assuming that you have saved your original text file name into the variable sOrigName, you could use the following code to change the extension to .doc, and then save the file:
sDocName = Left(sOrigName, Len(sOrigName) - 4) sDocName = sDocName & ".doc" ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
The code assumes that the last four characters of sOrigName contain the filename extension (the period plus three characters). These are stripped of and the ".doc" extension added.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (427) 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: Saving in Document Format from a Macro.
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!
One of the powerful programming structures provided in VBA allows you to conditionally execute commands. The If ... End ...Discover More
Macros are often used to process information stored in documents. Usually the processing involves some sort of iterative ...Discover More
If your macro needs to communicate with a user, one simple way to do it is to use a message box. Here's how to use this ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.