![]() |
#1
|
|||
|
|||
![]()
Happy New Year everyone. I created a Word document that contains numerous ActiveX Checkboxes (50+) that I believe slows down the document upon opening. As I understand, Content Control Checkboxes is the better way to go. I'm therefore changing the Checkboxes over to Content Controls but I'm beginning to learn that programming actions is quite different and I'm at a road block. Here's a small sample of code for one set of actions that I can't get to work properly:
Code:
Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl) Application.ScreenUpdating = False If (ContentControl.Title = "ccHW" And ContentControl.Checked = True) Then Selection.GoTo What:=wdGoToBookmark, name:="HW" SelectionShow 'Calls this subroutine Me.lblTitle.ForeColor = wdColorRed Else Selection.GoTo What:=wdGoToBookmark, name:="HW" SelectionHide 'Calls this subroutine End If If (ContentControl.Title = "ccCS" And ContentControl.Checked = True) Then Selection.GoTo What:=wdGoToBookmark, name:="CS" SelectionShow Me.lblTitle.ForeColor = wdColorViolet Else Selection.GoTo What:=wdGoToBookmark, name:="CS" SelectionHide End If End Sub With the ActiveX Controls, I used Select Case to nest the decision making & determine the CheckBox values, but I can't seem to do the same with Content Controls, I guess hence why my code above doesn't work too well. What I'm looking to achieve is firstly convert all my ActiveX check boxes to Content Controls or to add the ActiveX Controls to a UserForm to speed up the document load time. Using the 2 x controls mentioned above, what I want to happen is: If ccHW is true then display the ccHW bookmark content and colour the Label red. If ccCS is true then display the ccHW bookmark content and colour the Label violet. If both ccHW and ccCS are true, both bookmarks are visible & colour the label violet. If neither ccHW or ccCS are true then both bookmarks are hidden and coloue the label blue (this last point isn't in my code above). Someone's probably thinking, "What the...!!!!" at my attempt, but any points in the right direction is greatly appreciated. Regards Corin. |
#2
|
||||
|
||||
![]()
You have to actually enter the content control from outside the control in order for the ContentControlOnEnter sub to fire. It doesn't operate on simply toggling the control. Thus the following should demonstrate.
Code:
Option Explicit Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl) Select Case ContentControl.Title Case "ccHW" If ContentControl.Checked Then FillBM "HW", "This is the content of bookmark HW" Else FillBM "HW", "" End If Case "ccCS" If ContentControl.Checked Then FillBM "CS", "This is the content of bookmark CS" Else FillBM "CS", "" End If End Select End Sub Private Sub FillBM(strBMName As String, strValue As String) 'Graham Mayor - http://www.gmayor.com Dim oRng As Range With ActiveDocument On Error GoTo lbl_Exit Set oRng = .Bookmarks(strBMName).Range oRng.Text = strValue oRng.Bookmarks.Add strBMName End With lbl_Exit: Set oRng = Nothing Exit Sub End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#3
|
||||
|
||||
![]()
You might also be interested in the demo documents in the following posts:
https://www.msofficeforums.com/word-...html#post33489 https://www.msofficeforums.com/word-...tml#post107008
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
![]()
Thank you so much Graham. I used your code and now have a slightly better understanding of the ContentControl checkboxes. I'm think I'm going to leave a mixture of ContentCOntrols and ActiveX Controls in my document for now but will keep toiling away based on what I've learned from you.
Once again, may thanks. Paul, Thanks too for your feedback and links that were provided. |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
dep7418 | Word | 2 | 12-18-2016 08:08 PM |
Content Builder Using Checkboxes | MauriceP | Word | 2 | 10-19-2015 09:49 PM |
![]() |
DougsGraphics | Word VBA | 2 | 06-24-2015 07:31 AM |
![]() |
BrainSlugs83 | Word Tables | 8 | 11-14-2013 03:06 AM |
![]() |
creative cathy | Word Tables | 13 | 10-07-2012 08:52 PM |