Help and Support

PRB: Error Message "Cannot insert object" in Excel

Article ID:171280
Last Review:January 20, 2007
Revision:4.2
This article was previously published under Q171280
On This Page

SYMPTOMS

The following error message appears when you attempt to use your Visual C++ control in Microsoft Excel 97, Microsoft Excel 2000, or Microsoft Excel 2002:
Cannot insert object

Back to the top

CAUSE

This error occurs if you created a control in Visual C++, manually changed the _wVerMajor and/or _wVerMinor variables, and didn't change the corresponding type library version number in the .odl file of your project. This occurs because Excel 97, Excel 2000, and Excel 2002 explicitly check to see if these two variables are equivalent in the registry.

Back to the top

RESOLUTION

To resolve this problem, you either have to change the version() attribute in your .odl file to reflect the current state of the _wVerMajor and _wVerMinor variables at compile-time, or specifically modify the registry entry HKCR\TypeLib\<Your TypeLib>\X.Y, where X and Y represent your major and minor version numbers respectively.

Back to the top

STATUS

This behavior is by design.

Back to the top

MORE INFORMATION

Steps to Reproduce Behavior

1.Create a new MFC ActiveX ControlWizard project, and click Finish.
2.Open your <ProjectName>.cpp file, and find the variables _wVerMajor and _wVerMinor.
3.Change the _wVerMajor variable to 3.
4.Compile the project.
5.Open Excel.
6.Try to insert your control using the Object option under the Insert menu, or, click Toolbars on the View menu, and click to select the Control Toolbox option to display that toolbar. On that toolbar, click the "more controls" button and find your control in the list box. Click it, and then draw your control on the worksheet.
7.The "Cannot insert object" error message appears.

Back to the top

REFERENCES

For more information about the wVerMajor or wVerMinor global constants, search for "wVerMajor" or "wVerMinor" in Visual C++ Help.

For more information about ODL (Object Description Language) files and the version() attribute, search for "ODL" or "ODL Attributes" in Visual C++ Help.

Back to the top


APPLIES TO
Microsoft Excel 2000 Standard Edition
Microsoft Visual C++ 5.0 Enterprise Edition
Microsoft Visual C++ 6.0 Enterprise Edition
Microsoft Visual C++ 5.0 Professional Edition
Microsoft Visual C++ 6.0 Professional Edition
Microsoft Visual C++, 32-bit Learning Edition 6.0
Microsoft Excel 2002 Standard Edition
Microsoft Excel 97 Standard Edition

Back to the top

Keywords: 
kberrmsg kbprb KB171280

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.