PRB: OLE Automation Err: Method Not Applicable for This Object
ID: Q115859
|
The information in this article applies to:
-
Microsoft Visual Basic Standard and Professional Editions for Windows, version 3.0
SYMPTOMS
Certain valid OLE Automation methods cause the following error in Visual
Basic:
Method not Applicable for This Object.
CAUSE
This occurs if the method is a reserved word in Visual Basic. For example,
Close is a reserved word in Visual Basic. If you try to use Close in an OLE
Automation command, the Visual Basic parser complains and gives you the
error message.
RESOLUTION
To use OLE Automation methods that are reserved words in Visual Basic, use
the [] notation. For example, wrap the word Close in square brackets. This
stops Visual Basic from trying to interpret Close as a Visual Basic
statement.
MORE INFORMATION
Steps to Reproduce Behavior
- Start a new project Visual Basic. Form1 is created by default.
- Add a command button (Command1) to Form1.
- Add the following code to the Command1 Click event procedure:
Sub Command1_Click ()
Dim sheet As Object
Set sheet = CreateObject("Excel.Sheet.5")
' The following line causes the "Method not Applicable for
' This Object" error:
sheet.Parent.Close
Set sheet = Nothing
MsgBox "Excel Object created and destroyed successfully!"
End Sub
- Run the application. You will get a "Method not Applicable for This
Object" error on the line of code that reads:
sheet.Parent.Close
- Place square brackets around the word Close in the highlighted line. The
line should now read:
sheet.Parent.[Close]
- Run the program. It should run without error.
Additional query words:
Keywords : kberrmsg kbprg IAPOLE vbwin
Version : WINDOWS:3.0
Platform : WINDOWS
Issue type : kbprb