View Single Post
 
Old 04-26-2018, 11:44 PM
gmayor's Avatar
gmayor gmayor is offline Windows 10 Office 2016
Expert
 
Join Date: Aug 2014
Posts: 4,142
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 ofgmayor has much to be proud of
Default

Use the # command to format your code with tags in the forum.

You probably want something like the following. I have only filled 1 case. Add the values to the others as appropriate. Rename the title of the dropdown field in question to match your document.

You may find https://www.gmayor.com/insert_content_control_addin.htm useful.

Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim i As Long, m As Long
Dim strDetails As String
Dim oCC As ContentControl
    With ContentControl
        If ContentControl.ShowingPlaceholderText = False Then
            If .Title = "Company" Then
                Set oCC = ActiveDocument.SelectContentControlsByTitle("CountryDropDownName").Item(1)
                For m = 1 To .DropdownListEntries.Count
                    If UCase(.DropdownListEntries(m).Text) = UCase(.Range.Text) Then
                        Select Case m
                            Case 1
                                'This is the prompt and should not trip the macro
                                strDetails = " "
                                oCC.DropdownListEntries.Clear
                            Case 2
                                strDetails = "Singapore"
                                With oCC.DropdownListEntries
                                    .Clear
                                    .Add "Item1", "Item1"
                                    .Add "Item2", "Item2"
                                    'etc
                                End With
                            Case 3
                                strDetails = "Singapore"
                            Case 4
                                strDetails = "Singapore"
                            Case 5
                                strDetails = "Malaysia"
                            Case 6
                                strDetails = "Thailand"
                            Case 7
                                strDetails = "Cambodia"
                            Case 8
                                strDetails = "Philippines"
                            Case Else
                                strDetails = " "
                                 oCC.DropdownListEntries.Clear
                        End Select
                        Exit For
                    End If
                Next
                ActiveDocument.SelectContentControlsByTitle("Country").Item(1).Range.Text = strDetails
            End If
        End If
    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