![]() |
|
|
|
#1
|
|||
|
|||
|
I am using the below VB code to auto fill text based on drop down using content control. I need to also create a dropdown based on another drop down selection. How do I include in the piece of code. Please help.
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) Dim i As Long, StrDetails As String With ContentControl If .Title = "Company" Then For m = 1 To .DropdownListEntries.Count If UCase(.DropdownListEntries(m).Text) = UCase(.Range.Text) Then Select Case m Case 1 StrDetails = "" Case 2 StrDetails = "Singapore" 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 = " " End Select End If Next ActiveDocument.SelectContentControlsByTitle("Count ry").Item(1).Range.Text = StrDetails End If End With End Sub |
|
#2
|
||||
|
||||
|
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 |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Change color according with dropdown selection
|
spk | Word VBA | 43 | 07-31-2022 03:51 PM |
Multiple Selection Dropdown list
|
ajanson | Word VBA | 36 | 07-15-2019 08:16 PM |
Auto text after selection from Dropdown menu
|
trainsy | Word | 2 | 06-04-2014 04:43 AM |
| block selection in dropdown list | Intruder | Excel | 2 | 01-10-2013 10:20 AM |
Dropdown selection value
|
coconutt | Word VBA | 5 | 09-13-2012 05:23 PM |