View Single Post
 
Old 03-15-2024, 08:36 AM
gmaxey gmaxey is offline Windows 10 Office 2019
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,601
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

Your code seems to work fine here. Not to poke you in the eye with the obvious, but unfortunately the "trigger" is the act of exiting the content control. Therein lines the continuing stupidity of Microsoft (after over 15 years) of not have a content control "change" event.




Fortunately with Dropdowns, there is a "pseudo" change event called the ContentControlBeforeContentUpdate event. You can use it and XML mapping to do what you want. Attaching a demo file, but here is the code:

Code:
Private Sub Document_ContentControlBeforeContentUpdate(ByVal ContentControl As ContentControl, Content As String)
Dim oCXP As CustomXMLPart
  Select Case ContentControl.Title
    Case "ROLE"
      Set oCXP = ContentControl.XMLMapping.CustomXMLPart
      oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:RPT[1]").Text = "false"
      oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:DS[1]").Text = "false"
      oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:SPT[1]").Text = "false"
      Select Case Content
        Case "A"
         oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:RPT[1]").Text = "true"
         oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:DS[1]").Text = "true"
        Case "B"
          oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:DS[1]").Text = "true"
          oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:SPT[1]").Text = "true"
        Case "C"
          oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:RPT[1]").Text = "true"
        Case "D"
          oCXP.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:SPT[1]").Text = "true"
      End Select
    Case Else
  End Select
End Sub
Attached Files
File Type: docm Dependent checkboxes.docm (38.7 KB, 2 views)
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote