Knowledge Base

"OLE Automation Error" or "Out of Memory"

Article ID: 118379

Article Last Modified on 10/11/2006


APPLIES TO


This article was previously published under Q118379

SYMPTOMS

In Microsoft Excel, when you run a Visual Basic, Applications Edition, macro, you may receive one of the following error messages:
OLE Automation Error

-or-

Out of Memory

CAUSE

These error messages typically occur when the macro is referring to a worksheet object.

MORE INFORMATION

Every call between a Visual Basic module and a Microsoft Excel worksheet is made through Object Linking and Embedding (OLE). When you run a macro, you usually receive descriptive error messages when OLE errors occur. However, if OLE encounters an unresolvable error, you may receive one of the error messages above.

For example, if you run the following Visual Basic macro code, you will receive an error:
   Msgbox Sheets("Sheet1").Parent
				
In this example, information is requested from an object instead of from a property of that object. Since the object doesn't give a property, Visual Basic tries to return the default property, ".Value." Because worksheets do not have a Value property, you receive an OLE Automation error.

The correct syntax for the statement above would be:
   Msgbox Sheets("Sheet1").Parent.Name
				

REFERENCES

"Visual Basic User's Guide," Microsoft Excel 5.0, page 189

Additional query words: value XL5 Err Msg

Keywords: kbinterop kbprogramming KB118379