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 a Macro Using a Desired File Name.

Saving in a Macro Using a Desired File Name

by Allen Wyatt
(last updated November 2, 2016)

Steve creates documents that require the document's file name to be set forth in the header and in legal captions on the first and second pages of the document. He has created a macro that, after the file name is typed in the heading, copies it and pastes it in the text form fields in the captions at the proper places. His next document assembly step is to save the document using the "Save As" command. The document is to be saved using the same file name entered in the header and captions.

When doing this manually, Steve displays the Save As dialog box, pastes the file name into it, then clicks Save. He has tried to create the macro code to add this "Save As" step, but cannot figure out how to do it. When Word records the manual steps, Steve gets something like the following:

ActiveDocument.SaveAs FileName:="04562.sw.doc

This shows that Word is recording the specific file name being used when going through the manual steps, but Steve wants to use a different file name, based on what is in the header of the document. That information (the file name) happens to be in the Clipboard when the macro is run, so it is also possible to grab the information form the Clipboard, but Steve is also at a loss as to how to do that.

Since Steve already has a macro to copy the file name, and he is happy with that macro, it should only take a couple of changes to his code to get the file saved using the proper name. Try adding the following code to the appropriate places in your existing macro:

Dim strTemp As String
Dim MyData As DataObject
Set MyData = New DataObject

MyData.GetFromClipboard
strTemp = MyData.GetText(1)
ActiveDocument.SaveAs FileName:=Trim(strTemp) & ".doc"

As long as you have a text string in the Clipboard that you want to use for your filename, this code should work. It even adds the .Doc extension to the end of the string in the Clipboard. This code requires that you set up a reference for the Microsoft Forms in the VBA Editor. (Choose References from the Tools menu in the Editor.)

Of course, it should be pointed out that you may want to rethink your approach to this macro. In fact, you may be able to get rid of most of your code if you take a different approach entirely. For instance, you could have people first save the document and then reference the file name in the document itself through the use of fields. (The FILENAME field could be used for this purpose.)

Instead of using a macro to copy the file name to the first and second pages of the document, you could also use a defined style (such as DocTitle or DocName) to refer to your file name, and then use the STYLEREF field elsewhere in your document to make reference to that name. That way it only has to be entered once, and no macro is necessary. You can find multiple ways of repeating data in different areas of the document at this page on a Word MVP's site:

http://gregmaxey.mvps.org/Repeating_Data.htm

You could also create a UserForm to collect the data from the user (to get the file name desired), and then save the document under that name. The macro could then assign the file name to the TITLE field, and anyplace in the document that referenced the TITLE field would automatically show the file name the user entered.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (453) 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 a Macro Using a Desired File Name.

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

Generating a List of Unique Words

Need to grab a list of unique words appearing in a document? You can tap the power of VBA's Words collection to perform the ...

Discover More

Printing without Headings

One way to use heading styles is to create a story outline. When it comes time to print the story, though, you may not want ...

Discover More

Inserting the Current Time with Seconds

If you need to insert the current time, with seconds, then you'll need the macro discussed in this tip. It's easy to use and ...

Discover More

Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!

MORE WORDTIPS (MENU)

Determining the Upper Bounds of an Array

When working with variables in a macro, you may need to know the upper boundary dimension for an array. This can be ...

Discover More

Moving the Insertion Point to the End of a Line

When writing a macro to process the text in a document, you may need to move the insertion point to the end of a line. This ...

Discover More

Using Message Boxes

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
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 for this tip:

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)

This Site

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.

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.

Links and Sharing
Share