Please Note: This article is written for users of the following Microsoft Word versions: 2007 and 2010. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Saving in Document Format from a Macro.

Saving in Document Format from a Macro

by Allen Wyatt
(last updated October 12, 2016)

5

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.docx.

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 & ".docx"
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 ".docx" 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 (404) applies to Microsoft Word 2007 and 2010. You can find a version of this tip for the older menu interface of Word here: Saving in Document Format from a Macro.

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

Table Borders not Stored in AutoText

Many people create tables and store those tables in AutoText entries for later use. If the formatting of those tables doesn't ...

Discover More

Indexing Based on a Range of Letters

Word provides many options for creating indexes. One option allows you to specify that the index contain only entries that ...

Discover More

Measuring Efficiency of Formulas and Macros

As the limits on what you can store in Excel have increased, so has the need to consider how to make your workbooks and ...

Discover More

Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!

More WordTips (ribbon)

Creating a Directory

Need to create a directory from within a macro? You can do it using a single command line, as detailed in this tip.

Discover More

Resetting Character Formatting in a Macro

Shortcut keys are a great way to apply styles to text in a document. You can easily create a shortcut key assignment for any ...

Discover More

Understanding Document Variables

When working with macros, you may want to create a variable that will remain constant from one instance of the macro to ...

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 5 + 0?

2017-02-13 03:17:26

tamizharasan

Danial, i tried the same format to save the file as html and it worked. Thank you.


2014-06-09 18:39:52

pajamauniform

Daniel, try adding ActiveDocument.Convert


2013-11-25 19:05:33

Daniel

Found m y problem, the fileformat needed to be wdFormatXMLDocument


2013-11-25 18:51:43

Daniel

I tried to open the document on another computer. The system saving the document was Office 2007. When I tried to open in Office 2013 on another computer, the error message was more descriptive: it said the format of the document didn't match the extension.


2013-11-25 18:46:34

Daniel

Hi, thanks for this tip. I thought i was golden with this but when I tried to open the new document it came up as needing repair. The "Open and Repair" option does not work for the file either. Here is my macro:

Sub SaveAsDocXthenKill()
'
' SaveAsDocXthenKill Macro
'
'
Dim j As Long

j = InStrRev(ActiveDocument.FullName, ".")
ToBeKilled = ActiveDocument.FullName

sDocName = Left(ActiveDocument.FullName, j) & "docx"

ActiveDocument.SaveAs FileName:=sDocName, FileFormat:=wdFormatDocument



ActiveDocument.Close

Kill ToBeKilled

End Sub


This Site

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.

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.