FileOpen Command Requires CHR$(34) with Long Filenames

ID: Q121856

The information in this article applies to:

SYMPTOMS

If your macro contains a FileOpen command to open a file with a long filename that contains spaces (for example, FileOpen .Name = "This is a long doc name.doc"), you receive the error message

   This file could not be found <filename>

for each word within the quotation marks.

This behavior also occurs when you are using a variable, as in the following example:

   A$ = "This is a long doc name.doc"
   FileOpen .Name = a$

CAUSE

Word interprets each word within the quotation marks as a single file and cannot find the files because they do not exist. You can specify multiple filenames inside the quotation marks to open several files at once.

RESOLUTION

You can modify the FileOpen command by adding the CHR$(34) to indicate the beginning and end of the long filename. This allows Word to interpret all of the text as a single filename. Using the above example, your command would appear as follows:

   FileOpen .Name = CHR$(34) + "This is a long doc name.doc" + CHR$(34)

If the filename is contained in the variable A$, the correct FileOpen command would be:

   FileOpen .Name = Chr$(34) + A$ + Chr$(34)

STATUS

This behavior is by design.

KBCategory: kbusage KBSubcategory: kbmacro Additional reference words: ntword wordnt long file names nt word winword word6 6.0 macro wordbasic cannot find file fileopen

Keywords          : kbmacro
Version           : 6.0
Platform          : WINDOWS

Last Reviewed: February 5, 1998