PDA

Click to See Complete Forum and Search --> : Converting a collection into a control array


plenderj
Jun 6th, 2002, 11:07 AM
Here is a simple example of converting from a collection of controls into a control array.
Personally I much prefer working with control arrays than using control enumeration, so thats why I wrote this.

This example does however use control enumeration to find all the controls in the first place.

Create a form, and place 6 command buttons on it.
If prompted, do not use a control array.


Private Function createControlArray(ByRef controlCollection As Object) As Object()
If Not controlCollection.Count = 0 Then
Dim retVal() As Object: ReDim retVal(controlCollection.Count)
Dim i As Long: For i = 0 To UBound(retVal) - 1: Set retVal(i) = controlCollection.Item(i): Next
createControlArray = retVal
End If
End Function

Private Sub Form_Load()
Command1.Caption = "Command1": Command2.Caption = "Command2": Command3.Caption = "Command3":
Command4.Caption = "Command4": Command5.Caption = "Command5": Command6.Caption = "Command6":
Dim cmdButtons() As Object: cmdButtons = createControlArray(Form1.Controls)
MsgBox "Caption of third command button : " & cmdButtons(3).Caption
End Sub

plenderj
Oct 21st, 2004, 09:49 AM
* 21-October-2004 - Moved to CodeBank *