![]() |
|
|||||||
|
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Hello!
I am new here so I apologize in advance if I break any rules. I work with technical fields and choices are often indicated with square brackets e.g. [option 1][option 2]. I am trying to write a macro to turn a selection of square backets into a dropdown content control. Is this something that is feasible? Below is my attempt. I am not a programmer, so it might not make sense. It is patchwork from different snippets I have found over various forums. I have also attached a picture to illustrate what I am trying to do. Thanks so much! Code:
Sub Macro ()
Application.ScreenUpdating = False
Dim objCC As ContentControl
Dim Strtext As String
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "\[*\]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute
End With
Do While Selection.Find.Found
StrTxt = Selection.Find.Text
Set objCC = Selection.ContentControls _
.Add(wdContentControlComboBox)
objCC.Title = "Selection"
objCC.SetPlaceholderText _
Text:="Please make a selection"
For Each Strttext In Selection.Find.Text
objCC.DropdownListEntries.Add StrTxt
Loop
End With
Application.ScreenUpdating = True
End Sub
|
|
#2
|
||||
|
||||
|
For example, assuming you first select all the options:
Code:
Sub AddComboBox()
Application.ScreenUpdating = False
Dim objCC As ContentControl, StrTxt As String, i As Long
With Selection.Range
If InStr(.Text, "[") = 0 Then Exit Sub
If InStr(.Text, "]") = 0 Then Exit Sub
If .Characters.Last <> "]" Then .MoveEndUntil "]", wdBackward
StrTxt = .Text
StrTxt = Replace(StrTxt, "]", "")
.Text = vbNullString
Set objCC = .ContentControls.Add(wdContentControlComboBox)
With objCC
.SetPlaceholderText Text:="Please make a selection"
For i = 1 To UBound(Split(StrTxt, "["))
.DropdownListEntries.Add Split(StrTxt, "[")(i)
Next
End With
End With
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Thank you! It worked! Amazing!
|
|
| Tags |
| content control, microsoft word, vba content control |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Content Controls - Dependent Dropdown
|
someazguy | Word VBA | 14 | 02-05-2023 08:01 PM |
| Clear all content controls (Text, dropdown) AND change option button values to FALSE in MS Word Form | Janet D | Word VBA | 7 | 01-14-2023 02:36 AM |
Content Controls - Dependent Dropdown & Text
|
Mightymegs | Word VBA | 6 | 05-18-2020 05:34 AM |
Add a return between two square brackets
|
jeffreybrown | Word VBA | 15 | 02-20-2017 05:35 PM |
| Macro to save docx to doc that checks compatibility and converts content controls to static content. | staicumihai | Word VBA | 4 | 10-12-2016 08:23 PM |