• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 221
  • Last Modified:

Objects Collections

How can I apply properties to all objects in a collection at the same time ?

Example : if I have two TextBoxes, txtA and txtB, and I want to put the text in bold.

In Excel 95's VBA I would have written :

ActiveDialog.EditBoxes.Font.Bold=True

And not :

With ActiveDialog
.EditBoxes("txtA").Font.Bold=True
.EditBoxes("txtB").Font.Bold=True
End With
0
frey
Asked:
frey
  • 2
1 Solution
 
mrmickCommented:
This is not the simplest of questions.

As you know, the method you used in VBA doesn't work in VB - unfortunately, there isn’t an equivalent.  You can use the following function to do the same thing if you adhere to a naming standard.  For example, if all your textboxes start with "Text" as Text1, Text2, etc... (I personally precede all my textboxes with "txt" as txtName)  The following procedure demonstrates how to accomplish the functionality when the naming standard is "Text":

Sub TextBoxesBold(FormName As Form)
Dim ctrl As Control
   
 For Each ctrl In Me.Controls
  If Left$(ctrl.Name, 4) = "Text" Then
   ctrl.FontBold = True
  End If
 Next

End Sub

You would call this procedure with in a form containing the text boxes to be changed like this:

TextBoxesBold Me

Or from anywhere using the name of the form, for example:

TextBoxesBold Form1

0
 
freyAuthor Commented:
Thanks mrmick
0
 
mrmickCommented:
You're welcome.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now