Microsoft KB Archive/120404

{|
 * width="100%"|

XL5: "File Not Found" Error Using References Dialog Box

 * }

Q120404

-

The information in this article applies to:


 * Microsoft Excel for Windows, versions 5.0, 5.0c
 * Microsoft Excel for Windows NT, version 5.0
 * Microsoft Project for Windows, version 4.0

-

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS
In a Visual Basic for Applications module, if you click References on the Tools menu, you may receive the following error message:

File Not Found

When you attempt to open a workbook that contains a module sheet in Microsoft Excel, you may receive the following error message:

Error 48: Error in loading DLL

When you start Microsoft Excel, you may receive the following error message:

An Excel lexicon, Xlen50.olb, is missing or damaged.

CAUSE
This problem occurs when the following conditions are true:

 You perform a workstation installation of the product listed at the beginning of this article.

-and-  The product listed at the beginning of this article cannot locate a file because a Universal Naming Convention (UNC) path is used to locate one or more of the following files in the registration database of the operating system:

   Xlen50.olb Vbaen.olb Stdole.tlb 

The symptoms may also occur if the file Stdole.tlb cannot be located. For additional information, please see the following article in the Microsoft Knowledge Base:

"Q124596 Errors Creating New Macro or Module Sheet"

WORKAROUND
To work around this problem, copy the Xlen50.olb, Vbaen.olb and Stdole.tlb files to the appropriate local locations on your computer. For example, copy these files to the following locations.

  File           Folder -

Xlen50.olb    Excel Vbaen.olb     Windows\System Stdole.tlb    Windows\System

After you copy the files locally, use the appropriate following procedure.

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT or Windows 2000, you should also update your Emergency Repair Disk (ERD).

Microsoft Excel or Microsoft Project Under Microsoft Windows 3.x:
To edit the Reg.dat file to point to new locations, follow these steps:

 In Program Manager, click Run on the File menu. In the command line box, type regedit /v.  Click Find Key on the Registration Info Editor Search menu. In the Find What box, type typelib, and click the Find Next button.

This search process should take you to a location labeled

     TypeLib = OLE (Part 4 of 5)   Locate the "1.0 = Visual Basic for Applications" line. Below this line there should be a line resembling the following:

<pre class="FIXEDTEXT">     win16 = \\Server\Share\Directory(s)\XLEN50.OLB

NOTE: You may see a double backslash in the middle of the entry, for example Server\Share\\Directory\XLEN50.OLB. This is an indication that the system is not properly using the UNC name. </li>  Select the entry and edit the text in the Value box to reflect the new location of Xlen50.olb, for example:

<pre class="FIXEDTEXT">     C:\Excel\Xlen50.olb. </li> On the File menu, click Exit. Click Yes to save the changes.</li> Repeat steps 1-6 for Vbaen.olb and Stdole.tlb to modify the registration database (Reg.dat) to point to their new locations.</li> Restart Microsoft Windows.</li></ol>

Microsoft Excel or Microsoft Project Under Microsoft Windows NT 3.51:
To edit the registry to point to new locations, following these steps:

<ol> In Program Manager, click Run on the File menu.</li> In the command line box, type regedit /v. Click OK.</li> On the Search menu, click Find Key.</li>  Type the following in the Find What box

<pre class="FIXEDTEXT">     \TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0\9\Win16

and then click Find Key. </li> Modify the value of this key to use the new path of Vbaen.olb (the value box is at the top of the window below the menu bar) and press ENTER.</li> On the Search menu, click Find Key.</li>  Type the following in the Find What box

<pre class="FIXEDTEXT">     \TypeLib\{00020813-0000-0000-C000-000000000046}\1.0\9\Win16

and click Find Key. </li> Modify the value of this key to use the new path of Xlen50.olb (the value box is at the top of the window below the menu bar) and press ENTER.</li> On the File menu, click Exit. Click Yes to save changes.</li> Restart Windows.</li></ol>

Use similar steps to modify the Stdole.tlb keys. The Stdole.tlb keys can be found by searching for the following keys:

<pre class="FIXEDTEXT">  \TypeLib\{00020430-0000-0000-C000-000000000046}\1.0\9\Win16 \TypeLib\{00020430-0000-0000-C000-000000000046}\1.0\0\Win16

Microsoft Excel or Microsoft Project Under Windows 95 or Windows NT 4.0:
To edit the registry to point to new locations, following these steps:

<ol> On the Start menu, click Run.</li> <li>Type regedit, and click OK.</li> <li> In the Registry window, click the plus sign (+) to the left of the following keys, in order

<pre class="FIXEDTEXT">      HKEY_CLASSES_ROOT TypeLib {000204F3-0000-0000-C000-000000000046} 1.0      9

to open the following registry key:

<pre class="FIXEDTEXT">      My Computer\HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000- 000000000046}\1.0\9

Then, click the folder to the left of Win16. The following key appears in the status bar:

<pre class="FIXEDTEXT">      My Computer\HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000- 000000000046}\1.0\9\Win16 </li> <li>Click the entry for Vbaen.olb.</li> <li>On the Edit menu, click Modify.</li> <li>Change the Value Data to the new path for Vbaen.olb and click OK.</li> <li> In the Registry window, click the plus sign (+) to the left of the following keys, in order

<pre class="FIXEDTEXT">      HKEY_CLASSES_ROOT TypeLib {00020813-0000-0000-C000-000000000046} 1.0      9

to open the following registry key:

<pre class="FIXEDTEXT">      My Computer\HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000- 000000000046}\1.0\9

Then, click the folder to the left of Win16. The following key appears in the status bar:

<pre class="FIXEDTEXT">      My Computer\HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000- 000000000046}\1.0\9\Win16 </li> <li>Click the entry for Xlen50.olb.</li> <li>On the Edit menu, click Modify.</li> <li>Change the Value Data to the new path for Xlen50.olb and click OK.</li> <li> Repeat steps 310 using the following registry keys:

<pre class="FIXEDTEXT">      HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{000204F3-0000-0000- C000-000000000046}\1.0\9

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020813-0000-0000- C000-000000000046}\1.0\9 </li> <li>On the Registry menu, click Exit.</li> <li>Restart Windows.</li></ol>

Microsoft Excel for Windows NT:
Use the method that corresponds with the version of Windows that you are running and use the criteria in the following table.

<pre class="FIXEDTEXT">  Replace This file   With This File --

Win16              Win32 Xlen50.olb         Xlen32.olb Vbaen.olb          Vbaen32.olb Stdole.tlb         Stdole32.tlb

If you are a network administrator, you may want to use a batch procedure to work around this problem. For more information, please see the following article in the Microsoft Knowledge Base:

"Q129422 XL5: Network Admin Method for Updating Registration Database"

STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

MORE INFORMATION
When you perform a workstation installation of Microsoft Excel 5.0, most of the program files are run from the server, including Xlen50.olb and Vbaen.olb, the Microsoft Excel and Visual Basic for Applications, object library files. By default, these files are listed in the References dialog box as available object libraries. However, when you use the References dialog box in a Visual Basic module as described in this section, and the server uses the universal naming convention (UNC), Microsoft Excel cannot locate these files.

You can use the References dialog box to create a link to another project (for example, a workbook that contains a Visual Basic module) from the active project. When you reference another project, you can call any Sub or Function procedure within that project without opening the workbook or using the name of the module that contains the Sub or Function.