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.
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.
Learn more about Allen...
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: Modifying Behavior of the Open Dialog Box.
Bronwyn asked if there was a way to force the Open dialog box to stay visible so that multiple files could be opened consecutively. While multiple documents can be opened at the same time using the Open dialog box, this isn't want Bronwyn wanted to do.
One solution—that only tangentially involves Word—is to use the Windows Explorer to display the files in a folder. Open an Explorer window that shows all the document files. You can then double-click on files, or create a selection set of files and right-click on them and choose Open. The window is continually available, and you don't need to worry about repeatedly displaying the Open dialog box.
If you prefer a solution directly within Word, just remember that Word is very configurable, which means you can change just about every aspect of the program. This includes the behavior of the Open dialog box. All you need to do is create a replacement for the FileOpen command, as in the following:
Public Sub FileOpen() Dim err_handler On Error GoTo err_handler With Dialogs(wdDialogFileOpen) .Name = "*.*" Do While .Show <> 0 .Name = "*.*" Loop End With Exit Sub err_handler: If Err.Number = 5174 Then MsgBox "You can open only one file at a time.", vbCritical Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation End If End Sub
With this macro in place, whenever you choose Open from the File menu, Word displays the Open dialog box with All Files as the specified file type. You can then select a file, and the dialog box again opens to await your next selection. If you click Cancel on the dialog box, then the command ends and you can begin your other tasks in Word.
There is a difference between this implementation of the Open dialog box and the one that is presented normally by Word. In Word, you can create a "selection set" within the Open dialog box so that you can open multiple files at the same time. When you use the wdDialogFileOpen dialog box (as is done when you create your own replacement for the Open command), you can only select a single file at a time. This didn't seem to be a big problem for Bronwyn, but could be a problem for other users.
If you must retain the ability to open multiple files at once, then you can execute a commandbarcontrol. However, in executing the commandbarcontrol, you cannot test if someone clicks Cancel. Therefore, you need another way to get out of the loop. In the following routine, you can select/open multiple files, but you must also respond to a dialog box to exit the loop that shows the dialog box.
Sub GetNewFiles() Dim Response Do While Response <> vbNo CommandBars("Standard").Controls("&Open...").Execute Response = MsgBox(Prompt:="Open another file?", Buttons:=vbYesNo) Loop End Sub
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1869) 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: Modifying Behavior of the Open Dialog Box.
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!