One of the missing function code that made by the VB Class Builder while making a Collection Class is CheckExists function to check whether the key associated to an object in the collection is already exists or not.
Collections in Visual BasicIn general, a collection is an object used for grouping and managing related objects. Check out Microsoft article about Collections in Visual Basic
Creating Collection Class using VB Class BuilderThe simplest way to create collection class is by using the VB Class Builder. Here's the simple step:
- Right click on the Project Explorer area
- Select Add > Class Module
- Select VB Class Builder, and click Open
- Select File > New > Collection and Set your class to be grouped it the Collection Class, Set The collection Name and click OK
- Update Project and Close the Builder
Notice, you will have one new class based on the name you set on the Builder. Open the code window for the New Collection Class and you will notice there is no CheckExists function to check whether the key associated to an object it the collection is already exists or not.
Here is my function code to check if an object exists in a collection object
Public Function CheckExists(vntIndexKey As Variant) As Boolean
On Error Resume Next
Dim cObj As Object
' just get the object
Set cObj = mCol(vntIndexKey)
' here's the key! Trap the Error Code
' when the error code is 5 then the Object is Not Exists
CheckExists = (Err <> 5)
' just to clear the error
If Err <> 0 Then Call Err.Clear
Set cObj = Nothing
You can simply copy this code and paste it in the Collection class and now you have the CheckExists function in your collection Class. Good Luck!