Microsoft KB Archive/180455

= BUG: Error 451 "Object not a collection" When Using Left =

Article ID: 180455

Article Last Modified on 3/11/2005

-

APPLIES TO


 * Microsoft eMbedded Visual Basic 3.0
 * Microsoft Windows CE Toolkit for Visual Basic 6.0

-



This article was previously published under Q180455



SYMPTOMS
If the Left Function is used in a form module, the following error occurs:

Error 451 "Object not a collection"



CAUSE
Visual Basic is misinterpreting the Left function as the Left property of the Form.



RESOLUTION
There are two possible workarounds to this problem:   (This is the preferred method.) Use the Mid Function with the start parameter equal to 1, similar to the following: Private Sub Form_Load On Error Resume Next Dim sDrive 'Use the following line instead of sDrive = Left("c:\windows", 3) sDrive = Mid("c:\windows", 1, 3) If Err.Number = 0 Then MsgBox "The Drive is " & sDrive, vbInformation, "Drive" Else MsgBox "Error: " & Err.Number & " - " & _ Err.Description, vbInformation, "Error Message" End If     End Sub  Use the Left Function in a standard module (*.bas).



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.



Steps to Reproduce Behavior
 Create a new Windows CE project in either eMbedded Visual Basic or Visual Basic 6.0. Form1 is created by default.  Add the following code to the Load Event of Form1: Private Sub Form_Load On Error Resume Next Dim sDrive sDrive = Left("c:\windows", 3) If Err.Number = 0 Then MsgBox "The Drive is " & sDrive, vbInformation, "Drive" Else MsgBox "Error: " & Err.Number & " - " & _ Err.Description, vbInformation, "Error Message" End If     End Sub </li> Press F5 to run the project in the emulator and observe the error.</li></ol>

Additional query words: wince vbce vbce6 evb

Keywords: kbbug kbtoolkit kbpending KB180455

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.