×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

MS Word VBA CheckBoxes

MS Word VBA CheckBoxes

MS Word VBA CheckBoxes

(OP)
thread711-1792711: MS Word VBA CheckBoxes

Redmondkw357 (TechnicalUser)
(OP)
12 Feb 19 00:08
I have a checkbox that I use the following code to change the properties but I would like it to apply to all checkboxes or any new checkboxes added to the document without having to copy it to each individual check box click event.

CODE

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox1.Caption = "Complete"
CheckBox1.BackColor = 65535
CheckBox1.ForeColor = 25600
CheckBox1.SpecialEffect = fmButtonEffectSunken
Else
CheckBox1.Caption = "Status"
CheckBox1.BackColor = 16777215
CheckBox1.ForeColor = 255
CheckBox1.SpecialEffect = fmButtonEffectSunken
End If
End Sub 

Can someone tell me how to make this apply to any checkbox and all new checkbox at one time?

RE: MS Word VBA CheckBoxes

You may try this - not tested because I don't know if you have your check boxes on the Form, in the Word document, on the Excel sheet, ...

CODE

Private Sub CheckBox1_Click()

    Call DealWithIt(CheckBox1)

End Sub

Private Sub DealWithIt(ByRef chk As CheckBox)

With chk
    If .Value = True Then
        .Caption = "Complete"
        .BackColor = 65535
        .ForeColor = 25600
        .SpecialEffect = fmButtonEffectSunken
    Else
        .Caption = "Status"
        .BackColor = 16777215
        .ForeColor = 255
        .SpecialEffect = fmButtonEffectSunken
    End If
End With

End Sub 


---- Andy

There is a great need for a sarcasm font.

RE: MS Word VBA CheckBoxes

(OP)
I apologize, I should have noted which MS application this was for. I am using the check boxes in MS Word 2016.

RE: MS Word VBA CheckBoxes

(OP)
Will this apply to all check boxes on the document or do I have to add it to each check box?

RE: MS Word VBA CheckBoxes

"I am using the check boxes in MS Word 2016" on the UserForm? Or on the Word document itself?

Oh, wait, you did state "all check boxes on the document ", so it is not on the UserForm.

"Will this apply to all check boxes on the document or do I have to add it to each check box? " That depends on what action you want to make and what you want to happen.

If you want to click on one check box and want to change the appearance of this particular check box, then add the Call to all your check boxes.

Otherwise you would need to loop thru all check boxes, but that is not making much sense.

It would help if you would show a picture of what you have, and state clearly what action you want to make and what you would like to happen.


---- Andy

There is a great need for a sarcasm font.

RE: MS Word VBA CheckBoxes

This worked on my word file.

Quote:

to apply to all checkboxes or any new checkboxes added
To get the number of checkboxes

activedocument.ContentControls.Count
https://docs.microsoft.com/en-us/office/vba/api/wo...


If new boxes are added or removed, the count will adjust accordingly. Then you could use that in your loop.

CODE -->

For i = 1 to activedocument.ContentControls.Count
      activedocument.contentcontrols(i).____________

Next 

Put the action you want in the underlined part

RE: MS Word VBA CheckBoxes

(OP)
Thank you, I will try this and let you know the results hopefully after this next meeting.

RE: MS Word VBA CheckBoxes

If you want something to apply to all checkboxes on a document, you should use content control checkboxes. Your code implies an ActiveX checkbox. With content control checkboxes, a single ContentControlOnExit macro can respond the same way for all of them. See, for example:
http://www.msofficeforums.com/word-tables/12335-as...
http://www.msofficeforums.com/word-tables/33248-co...
Do note, though, that content control checkboxes don't have the same properties as ActiveX checkboxes.

Cheers
Paul Edstein
[MS MVP - Word]

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close