Error Running Macro with Reference to XLODBC.XLA File (151544)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95

This article was previously published under Q151544

SYMPTOMS

When you run a procedure from a module that contains a reference to the Xlodbc.xla file, you may receive the following error message:
Attempt to register Xlodbc32.dll failed.
In Microsoft Excel 97, you may receive this error as soon as you open the workbook that contains a reference to Xlodbc.xla.

MORE INFORMATION

This error occurs when all of the following are true:

  • Both Microsoft Excel version 5.0 and Microsoft Excel version 7.0 or 97 are installed in separate folders on the same computer. -and-

  • A file created in Microsoft Excel version 5.0 contains a Visual Basic for Applications procedure calling SQL functions from a module with a reference to the Microsoft Excel version 5.0 file Xlodbc.xla. -and-

  • The procedure is being run from Microsoft Excel version 7.0 or Microsoft Excel 97 on the same computer where Microsoft Excel 5.0 is installed.
The error message,
Attempt to register XLODBC.DLL failed.
may also occur if a procedure with a reference to Xlodbc.xla created in Microsoft Excel version 7.0 or 97 is run from Microsoft Excel version 5.0 on the same computer.

CAUSE

When you establish a reference to another workbook or library, Microsoft Excel hard-codes the path of the file when the reference is established. The error occurs because the path to the Xlodbc.xla file is still valid, and Microsoft Excel attempts to open the incorrect Xlodbc.xla file.

The error does not occur if only one version of Microsoft Excel is installed on the computer. Instead, if the file cannot be found, you may receive the following error message:
Can't find project or library.
See articles referenced later in this article for more information about this error.

RESOLUTION

Microsoft Excel 7.0

With your module sheet active, click References on the Tools menu, click to clear the current reference, and use the Browse option to establish a new reference to the correct Xlodbc.xla file. After establishing the correct reference, save and close the file, and then restart Microsoft Excel.

Microsoft Excel 97

Press ALT+F11 to activate Visual Basic Editor. Click References on the Tools menu, click to clear the current reference, and use the Browse option to establish a new reference to the correct Xlodbc.xla file. Click Close and Return to Microsoft Excel on the File menu. Save and close the file, and then restart Microsoft Excel. For additional information, please see the following articles in the Microsoft Knowledge Base:

124277 XL5 Err Msg: "Can't Find Project or Library" Running Macro

131298 XL5 How to Avoid the Error "Can't Find Project or Library"

REFERENCES

For more information about calling procedures in Microsoft Excel 97, from the Visual Basic Editor, click the Office Assistant, type "calling procedures," click Search, and then click to view "Calling Sub and Function Procedures."

NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If the Assistant is not able to answer your query, please see the following article in the Microsoft Knowledge Base:

176476 OFF: Office Assistant Not Answering Visual Basic Questions

"Visual Basic User's Guide," version 5.0, chapter 4, "Organizing Procedures and Modules in Workbooks"

For more information about calling procedures in other workbooks, click Microsoft Excel Help Topics on the Help Menu, click the Index tab and type:

Calling procedures


Modification Type:MinorLast Reviewed:10/10/2006
Keywords:kberrmsg kbprb kbProgramming KB151544