View Single Post
 
Old 04-01-2020, 04:19 AM
gmayor's Avatar
gmayor gmayor is offline Windows 10 Office 2016
Expert
 
Join Date: Aug 2014
Posts: 4,103
gmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud of
Default

You need to combine the code. You can use Select Case to process as many controls as you wish by addressing them by their title property e.g.


Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim i As Long
Dim oCC As ContentControl
    With ContentControl
        Select Case .Title
            Case Is = "Client"
                If .ShowingPlaceholderText = True Then
                    Set oCC = ActiveDocument.SelectContentControlsByTitle("ClientDetails").Item(1)
                    oCC.LockContentControl = True
                    oCC.Range.Text = ""
                Else
                    For i = 1 To .DropdownListEntries.Count
                        If .DropdownListEntries(i).Text = .Range.Text Then
                            Select Case .DropdownListEntries(i).Text
                                Case "Roundhouse Nurseries"
                                    AutoTextToCC "ClientDetails", ActiveDocument.AttachedTemplate, "Roundhouse"
                                Case "Smiths Wholesales"
                                    AutoTextToCC "ClientDetails", ActiveDocument.AttachedTemplate, "Smith"
                            End Select
                            Exit For
                        End If
                    Next
                End If
            Case Is = "Another listbox"
                If .ShowingPlaceholderText = True Then
                    Set oCC = ActiveDocument.SelectContentControlsByTitle("CC to be processed").Item(1)
                    oCC.LockContentControl = True
                    oCC.Range.Text = ""
                Else
                    For i = 1 To .DropdownListEntries.Count
                        If .DropdownListEntries(i).Text = .Range.Text Then
                            Select Case .DropdownListEntries(i).Text
                                Case "List Item 1"
                                    AutoTextToCC "CC to be processed", ActiveDocument.AttachedTemplate, "Autotext Name 1"
                                Case "List Item 2"
                                    AutoTextToCC "CC to be processed", ActiveDocument.AttachedTemplate, "Autotext Name 2"
                            End Select
                            Exit For
                        End If
                    Next
                End If
        End Select
    End With
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019)
Visit my web site for more programming tips and ready made processes www.gmayor.com
Reply With Quote