Microsoft KB Archive/121269

= XL: Can't Use Visual Basic Procedure to Reference Project =

Article ID: 121269

Article Last Modified on 8/15/2005

-

APPLIES TO


 * Microsoft Excel 95 Standard Edition
 * Microsoft Excel 5.0c
 * Microsoft Excel 5.0 Standard Edition

-



This article was previously published under Q121269



SYMPTOMS
In Microsoft Excel, you cannot use a Visual Basic procedure to establish a reference to a project or to an object library. For example, if you turn on the Macro Recorder, and you use the References dialog box in a Visual Basic module to establish a reference to a project or an object library, nothing is recorded.

NOTE: A project is any file that contains a Visual Basic for Applications module, such as an .XLS or .XLA file.



WORKAROUND
To establish a reference in a Visual Basic module to a project, when you will be copying the module to another computer, do either of the following:


 * In the module that you want to copy to a different computer, use the References dialog box (Tools menu) to reference the project before you copy the module to a different computer. Then copy the workbook that contains this module, and the referenced project to the same directory on the second computer. When you use this method, Microsoft Excel finds the referenced project and establishes the reference again when you run the procedure.

You can also copy the referenced project to the Microsoft Excel directory, the Microsoft Windows directory, the Microsoft Windows SYSTEM subdirectory, or any directory that is in the MS-DOS path statement. -or-


 * You can call a Visual Basic procedure that is located in another project by first opening the project file, and then using the Run method of the Application object, and specifying the name of the referenced project and the name of the procedure as in the following example:

Microsoft provides examples of Visual Basic procedures for illustration only, without warranty either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. This Visual Basic procedure is provided 'as is' and Microsoft does not guarantee that it can be used in all situations. Microsoft does not support modifications of this procedure to suit customer requirements for a particular purpose.   Workbooks.Open("BOOK1.XLS") Application.Run "BOOK1.XLS!Macro1"



MORE INFORMATION
For additional information, please see the following article(s) in the Microsoft Knowledge Base:

110755 : XL: Deleted Project or Library Listed Twice In References

When you open a Visual Basic module that references a project, Microsoft Excel searches for the referenced project file in the following directories:


 * 1) The directory that contained the project file when you first established the reference.
 * 2) The directory in which the file that contains the reference is located.
 * 3) The directory in which Microsoft Excel is installed.
 * 4) The directory in which Microsoft Windows is installed.
 * 5) The SYSTEM subdirectory of the Microsoft Windows directory.
 * 6) Any directory that is located in the path statement in the AUTOEXEC.BAT file.

