Help and Support
 

powered byLive Search

"One of your object libraries is missing or damaged" error message when you open a file by using a VBA macro or when you try to start the Visual Basic Editor

Article ID:296114
Last Review:January 31, 2007
Revision:3.6
This article was previously published under Q296114
On This Page

SYMPTOMS

When you open a file with a Visual Basic for Applications macro or you try to start the Visual Basic Editor, you may receive an error message similar to one of the following:
One of your object libraries (excel9.olb) is missing or damaged. Please run setup to install it.
One of your object libraries (stdole32.tlb) is missing or damaged. Please run setup to install it.
When you click OK in the dialog box for the first error, the following error message appears:
An error occurred initializing the VBA libraries (32797).
When you click OK in the dialog box for the second error, the following error message appears:
An error occurred initializing the VBA libraries (32796).

Back to the top

CAUSE

The error messages described in the "Symptoms" section of this article can appear if the permissions on the following registry subkey, or one or more of its subkeys, has been changed from their default values:
HKEY_LOCAL_MACHINE\Software\Classes\TypeLib

Back to the top

RESOLUTION

To resolve this problem reset the permissions to the default settings by using the appropriate method for your version of Windows.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/) How to back up and restore the registry in Windows

Back to the top

Windows NT 4.0

The default permissions on the HKEY_LOCAL_MACHINE\Software\Classes\TypeLib subkey on Windows NT 4.0 are as follows:
   User/Group                              Permission
   ---------------------------------------------------------------------

   Creator Owner                           Full Control
   Everyone                                Read
   <machine name>\Administrators           Full Control
   Interactive                             Special Access
   System                                  Full Control
				
NOTE: The Special Access permissions for the Interactive account include the following:
Query Value
Set Value
Create Subkey
Enumerate Subkeys
Notify
Delete
Read Control
Change the permissions back to their default values. To do this, follow these steps:
1.Log in as a member of the Administrators group.
2.On the Start menu, click Run.
3.In the Open box, type Regedt32 and click OK.
4.Under the HKEY_LOCAL_MACHINE key, locate and select the following subkey:
Software\Classes\TypeLib
5.On the Security, menu click Permissions. If the Everyone group, is not listed in the Registry Key Permissions dialog box, add this group and assign it Read permissions. To do this, follow these steps:
a. In the Registry Key Permissions dialog box, click Add.
b. In the Add Users and Groups dialog box in the List Names From list, select the machine name.
c. In the Names list, select the Everyone group, and then click Add.
d. In the Type of Access list, select Read.
e. Click OK.
f. Repeat steps a through e for each group for which you need to reset permissions to their default settings.
g. In the Registry Key Permissions dialog box, click to select the Replace Permission on Existing Subkeys check box.
h. Click OK.
i. If you receive a message about replacing permissions on all existing subkeys, click Yes.
6.On the Registry menu, click Exit.
7.Log off and then log back on as the user experiencing the problem described in the "Symptoms" section of this article.

Back to the top

Windows 2000

The default permissions on the HKEY_LOCAL_MACHINE\Software\Classes\TypeLib subkey on Windows 2000 are as follows:
   User/Group                                        Permission
   ---------------------------------------------------------------------

   Administrators (<machine name>\Administrators)    Full Control
   Creator Owner                                     Full Control
   Everyone                                          Read
   Power Users (<machine name>\Administrators)       Special
   System                                            Full Control
   Users                                             Read
				
NOTE: The Special permissions for the Power Users group include the following:
Query Value
Set Value
Create Subkey
Enumerate Subkeys
Notify
Delete
Read Control
Change the permissions back to their default values. To do this, follow these steps:
1.Log in as a member of the Administrators group.
2.On the Start menu, click Run.
3.In the Open box, type Regedt32 and click OK.
4.Under the HKEY_LOCAL_MACHINE key, locate and select the following subkey:
Software\Classes\TypeLib
5.On the Security menu, click Permissions.

If the Power Users group is not listed in the Permissions for Typelib dialog box, add this group and assign it Special permissions. To do this, follow these steps:
a. Click to clear the Allow inheritable permissions from parent to propagate to this object check box.
b. In the Security dialog box, click Copy.
c. Click Advanced.
d. In the Access Control Settings for TypeLib dialog box, click Add.
e. In the Look in list, select the machine name for your computer. In the Name box, type Power Users. Click OK.
f. In the Permission Entry for TypeLib dialog box set the following permissions for the Power Users group.
Query Value
Set Value
Create Subkey
Enumerate Subkeys
Notify
Delete
Read Control
When finished, click OK.
g. In the Access Control Settings for TypeLib dialog box, click to select the Reset permissions on all child objects and enable propagation of inheritable permissions check box.
h. Click OK. If you receive a prompt about removing explicitly defined permissions on all child objects, click Yes.
i. Repeat steps a through h for each group for which you need to reset permissions to their default settings.
j. In the Permissions for TypeLib dialog box, click OK.
6.On the Registry menu, click Exit.
7.Log off and log back on as the user experiencing the problem described in the "Symptoms" section of this article.

Back to the top


APPLIES TO
Microsoft Excel 2002 Standard Edition, when used with:
  Microsoft Windows NT 4.0
  Microsoft Windows 2000 Standard Edition

Back to the top

Keywords: 
kbstartprogram kbautomation kbmacro kbopenfile kbdtacode kberrmsg kbprb KB296114

Back to the top

Article Translations

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.