MS Word - How to change auto text for multiple combo box selection

Опубликовано: 05 Июль 2026
на канале: Ho Kiat
600
7

THE VBA CODE:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)

On Error GoTo ErrHandler:

Dim objCC As ContentControl

For Each objCC In ActiveDocument.ContentControls 'This block analyses colour.
If objCC.Title = "Colour" Then
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Font.ColorIndex = wdBlack
Select Case objCC.Range.Text
Case "Choose an item."
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Text = "[Selected colour will appear here]"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Font.ColorIndex = wdGray50
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Text = "[symbolism will appear here]"
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Font.ColorIndex = wdGray50
Case "Red"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Text = "Red"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Font.ColorIndex = wdRed
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Text = "courage"
Case "Green"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Text = "Green"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Font.ColorIndex = wdGreen
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Text = "growth"
Case "Blue"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Text = "Blue"
ActiveDocument.SelectContentControlsByTitle("ColourRepeat").Item(1).Range.Font.ColorIndex = wdBlue
ActiveDocument.SelectContentControlsByTitle("Symbol").Item(1).Range.Text = "freedom"
Case Else
End Select
End If

Next objCC

For Each objCC In ActiveDocument.ContentControls 'This block analyses company name.
If objCC.Title = "Companyname" Then
Select Case objCC.Range.Text
Case "Alpha"
ActiveDocument.SelectContentControlsByTitle("Companynamerepeat").Item(1).Range.Text = "Alpha"
ActiveDocument.SelectContentControlsByTitle("Companyaddress").Item(1).Range.Text = "Alpha Road"
Case "Bravo"
ActiveDocument.SelectContentControlsByTitle("Companynamerepeat").Item(1).Range.Text = "Bravo"
ActiveDocument.SelectContentControlsByTitle("Companyaddress").Item(1).Range.Text = "Bravo Avenue"
Case "Charlie"
ActiveDocument.SelectContentControlsByTitle("Companynamerepeat").Item(1).Range.Text = "Charlie"
ActiveDocument.SelectContentControlsByTitle("Companyaddress").Item(1).Range.Text = "Charlie Street"
Case Else
End Select
End If

Next objCC


Set objCC = Nothing
Exit Sub

ErrHandler:
MsgBox Err.Number & " " & Err.Description
Set objCC = Nothing

End Sub