How
to check content control value of VBA check box?
Below
is a Word VBA code snippet on how to determine whether the check box is tick or
not.
A
"for loop" statement and "select case" statement were used to get the value of
the check box whether it is check or not.
If
check box is ticked or checked, it will return a true value.
If
the check box is not ticked or not checked, return value will be false.
VBA
code snippet is based on this scenario below; there are 10 check boxes in Word.
So
to follow this example, you can create 10 check boxes and run the code below:
Here's
the simple VBA code snippet:
====================================
Sub checkbox_Check_if_Checked()
Dim cBox As ContentControl
Dim i, ix As Integer
Dim checkBol As String
ix = 0
For i = 1 To ActiveDocument.ContentControls.Count
Select Case i
Case 1
checkBol = ActiveDocument.ContentControls(1).Checked
If checkBol = True Then
MsgBox "Checkbox 1 is checked"
ix = ix + 1
End If
Case 2
checkBol = ActiveDocument.ContentControls(2).Checked
If checkBol = True Then
MsgBox "Checkbox 2 is checked"
ix = ix + 1
End If
Case 3
checkBol = ActiveDocument.ContentControls(3).Checked
If checkBol = True Then
MsgBox "Checkbox 3 is checked"
ix = ix + 1
End If
Case 4
checkBol = ActiveDocument.ContentControls(4).Checked
If checkBol = True Then
MsgBox "Checkbox 4 is checked"
ix = ix + 1
End If
Case 5
checkBol = ActiveDocument.ContentControls(5).Checked
If checkBol = True Then
MsgBox "Checkbox 5 is checked"
ix = ix + 1
End If
Case 6
checkBol = ActiveDocument.ContentControls(6).Checked
If checkBol = True Then
MsgBox "Checkbox 6 is checked"
ix = ix + 1
End If
Case 7
checkBol = ActiveDocument.ContentControls(7).Checked
If checkBol = True Then
MsgBox "Checkbox 7 is checked"
ix = ix + 1
End If
Case 8
checkBol = ActiveDocument.ContentControls(8).Checked
If checkBol = True Then
MsgBox "Checkbox 8 is checked"
ix = ix + 1
End If
Case 9
checkBol = ActiveDocument.ContentControls(9).Checked
If checkBol = True Then
MsgBox "Checkbox 9 is checked"
ix = ix + 1
End If
Case 10
checkBol = ActiveDocument.ContentControls(10).Checked
If checkBol = True Then
MsgBox "Checkbox 10 is checked"
ix = ix + 1
End If
Case Else
MsgBox "No checkbox was checked"
ix = 0
End Select
Next
MsgBox ix & " checkbox/es was checked"
End Sub
Dim cBox As ContentControl
Dim i, ix As Integer
Dim checkBol As String
ix = 0
For i = 1 To ActiveDocument.ContentControls.Count
Select Case i
Case 1
checkBol = ActiveDocument.ContentControls(1).Checked
If checkBol = True Then
MsgBox "Checkbox 1 is checked"
ix = ix + 1
End If
Case 2
checkBol = ActiveDocument.ContentControls(2).Checked
If checkBol = True Then
MsgBox "Checkbox 2 is checked"
ix = ix + 1
End If
Case 3
checkBol = ActiveDocument.ContentControls(3).Checked
If checkBol = True Then
MsgBox "Checkbox 3 is checked"
ix = ix + 1
End If
Case 4
checkBol = ActiveDocument.ContentControls(4).Checked
If checkBol = True Then
MsgBox "Checkbox 4 is checked"
ix = ix + 1
End If
Case 5
checkBol = ActiveDocument.ContentControls(5).Checked
If checkBol = True Then
MsgBox "Checkbox 5 is checked"
ix = ix + 1
End If
Case 6
checkBol = ActiveDocument.ContentControls(6).Checked
If checkBol = True Then
MsgBox "Checkbox 6 is checked"
ix = ix + 1
End If
Case 7
checkBol = ActiveDocument.ContentControls(7).Checked
If checkBol = True Then
MsgBox "Checkbox 7 is checked"
ix = ix + 1
End If
Case 8
checkBol = ActiveDocument.ContentControls(8).Checked
If checkBol = True Then
MsgBox "Checkbox 8 is checked"
ix = ix + 1
End If
Case 9
checkBol = ActiveDocument.ContentControls(9).Checked
If checkBol = True Then
MsgBox "Checkbox 9 is checked"
ix = ix + 1
End If
Case 10
checkBol = ActiveDocument.ContentControls(10).Checked
If checkBol = True Then
MsgBox "Checkbox 10 is checked"
ix = ix + 1
End If
Case Else
MsgBox "No checkbox was checked"
ix = 0
End Select
Next
MsgBox ix & " checkbox/es was checked"
End Sub
====================================
Output:
VBA
code will display that there are four checkboxes that were ticked, since
Checkbox 1, Checkbox 7, Checkbox 8 and Checkbox 10 were ticked.
Hope
it helps to get started on how to get content control value in Word VBA.
----------------------------------
Free Android app, download at Google play:
Android Divine Mercy Chaplet Guide
https://play.google.com/store/apps/details?id=com.dmercyapp
Educational App for Android Kids:
https://play.google.com/store/apps/details?id=com.letsmultiply
Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit
----------------------------------
Free Android app, download at Google play:
Android Divine Mercy Chaplet Guide
https://play.google.com/store/apps/details?id=com.dmercyapp
Educational App for Android Kids:
https://play.google.com/store/apps/details?id=com.letsmultiply
Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit
Nice. Very helpful.
ReplyDeleteThanks you find it helpful, whoever you are.
Delete