How to update textbox content controls in Word using a dropdown content control


Microsoft Word User Interface with a focus on the font.
Image: Adobe Stock

Most of us work with at least one Microsoft Word document that changes very little. For instance, you might send out a generic contract or proposal that updates client information and the fee structure, while the rest of the content remains the same. Relying on sight to manually modify the content that changes risks typos and missed updates. When you find yourself needing this type of document, consider using Word’s content controls to update dependent controls based on the results of another.

In this tutorial, I’ll show you how to populate a content control dropdown with class names. Within the body of the document, we’ll add three textbox context controls. When you choose a class from the dropdown, the dependent text controls will update with the class name, the professor and the student limit in the body of the document. You can easily modify the controls if necessary; and, you can download the demo files.

SEE: Windows, Linux, and Mac commands everyone needs to know (free PDF) (TechRepublic)

I’m using Microsoft 365 on a Windows 10 64-bit system, but you can use earlier versions down to Word 2010. Word for the web doesn’t support VBA.

What’s a content control in Word?

Content controls in Word are containers for content that let users build structured documents. A structured document controls where content appears within the document. You’ll use these types of documents when very little in the document changes from one use to another. By inserting content controls, you can change the few instances of content that need to change.

By connecting these controls, you can update them all with one control. When you do this, you create what’s known as dependent controls.

Content controls have many properties and are similar to the legacy controls but can be easier to work with and format. Similar to legacy controls, you can automate the control using VBA (Visual Basic for Applications), but you’ll use a VBA event procedure instead of a control property as you do with Word’s legacy controls.

The best way to learn about content controls is to use them, so that’s what we’ll do next.

How to add a dropdown content control in Word

All controls are available via Word’s Developer tab. As you can see in Figure A, there are several content controls and legacy controls are still available. I recommend using content controls when possible because legacy controls may disappear with little notice.

Figure A

references section in Word highlighted with the legacy controls circled
Use the content controls when possible.

We’ll use the combo box content control dropdown to offer a few choices to the document user. After the user chooses an option from the dropdown (a class) and exits the dropdown, a VBA procedure will update three textbox content controls within the body of the document with the class and professor’s name and the student limit. You can add as many text controls as you need.

Now, to enter the dropdown, open a blank document and position the cursor where you want the dropdown. Click the Developer tab, and in the Controls group, click the Combo Box Content Control icon. Again in the Controls group, click Properties, and enter Class as the title.

To populate the dropdown, click Add in the Dropdown List Properties section. In the resulting dialog, enter Biology (Figure B), and click OK. Word automatically enters the same name for the Value setting. We won’t use this setting.

Figure B

Dropdown List Properties menu with the Add button circled
Insert a combo box dropdown into the document.

Select Add again in the Dropdown List Properties section, and repeat the process for both Anatomy and Physics (Figure C). Click OK.

Figure C

Content Control Properties menu being populated
Start populating the dropdown.

Figure D shows the dropdown in the document. Next, we’ll create the body of the document, which will include three dependent text box content controls that will display the class by name, the professor and the student limit.

Figure D

the completed sample content control dropdown
The completed dropdown.

How to enter text box content controls in Word

The body of the document will have one sentence. Three text controls will make up the dependent content, combined with static content. Figure E shows the completed document with empty controls in design mode. You don’t have to work in design mode, but it’s easier to see the controls, the static content and the spaces between.

Figure E

static content in a Word document with text controls mixed in
Enter the static content and the three text controls.

Next, let’s add the three controls that will update. Position the cursor a few lines below the dropdown. In the Controls group, click the Text Box Content Control icon to insert the first text control.

Click Properties in the Controls group and name the control ClassRepeat (Figure F). Click OK to close that dialog.

Figure F

Content Control Properties menu open
Give the text control a meaningful name.

Press the spacebar and then enter the static content is taught by — be sure to enter a space after “by.”

Repeat this process, and name the second text control Professor. Follow the second text control with the static text and is limited to — again, adding spaces before “and” and after “to.”

Repeat this process again, and name the third text control Limit. Follow the third and last text control with the static text students. Adding a space before “students.”

At this point, your document should resemble the one shown earlier in Figure E. If you choose an item from the dropdown, nothing will happen to the three text controls. To update those controls, we’ll add a VBA procedure.

How to add a VBA procedure in Word

The document is ready, and the next step is to add the VBA procedure that uses the user’s choice in the dropdown, named Classes, to update the three text controls, named ClassRepeat, Professor and Limit.

Before you enter the procedure, save the file as a macro-enabled file. Then, enter Listing A by pressing Alt + F11 to open the Visual Basic Editor (VBE). In the Project Explorer to the left, double-click ThisDocument to open that module. You can enter the code manually or import the downloadable .cls file. In addition, the procedure is in the downloadable .docm file. If you enter the code manually, don’t paste from this web page. Instead, copy the code into a text editor and then paste that code into the ThisDocument module. Doing so will remove any phantom web characters that might otherwise cause errors.

Listing A

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, 

Cancel As Boolean)

‘Text fields update automatically after the user chooses an item from the dropdown content control.

‘Dependent fields aren’t cleared between use.

On Error GoTo ErrHandler:

 

Dim objCC As ContentControl

    For Each objCC In ActiveDocument.ContentControls

        If objCC.Title = “Class” Then

            Select Case objCC.Range.Text

                Case “Biology”

                    ActiveDocument.SelectContentControlsByTitle(“ClassRepeat”).Item(1).Range.Text = “Biology”

                    ActiveDocument.SelectContentControlsByTitle(“Professor”).Item(1).Range.Text = “Professor Hoffman”

                    ActiveDocument.SelectContentControlsByTitle(“Limit”).Item(1).Range.Text = “15”

                Case “Anatomy”

                    ActiveDocument.SelectContentControlsByTitle(“ClassRepeat”).Item(1).Range.Text = “Anatomy”

                    ActiveDocument.SelectContentControlsByTitle(“Professor”).Item(1).Range.Text = “Professor Douglas”

                    ActiveDocument.SelectContentControlsByTitle(“Limit”).Item(1).Range.Text = “10”

                Case “Physics”

                    ActiveDocument.SelectContentControlsByTitle(“ClassRepeat”).Item(1).Range.Text = “Physics”

                    ActiveDocument.SelectContentControlsByTitle(“Professor”).Item(1).Range.Text = “Professor Collins”

                    ActiveDocument.SelectContentControlsByTitle(“Limit”).Item(1).Range.Text = “6”

                ‘Case Else

            End Select

        End If

    Next objCC

Set objCC = Nothing

Exit Sub

    

ErrHandler:

    MsgBox Err.Number & ” ” & Err.Description

    Set objCC = Nothing

End Sub

After entering the procedure in the ThisDocument module, return to the document in Word. If the document is still in design mode, click Design Mode on the Developer tab to toggle out of design mode.

To run the procedure, choose an item from the Classes dropdown and press Tab to exit the control. Doing so will trigger the procedure in Listing A. As you can see in Figure G, the procedure updates the three text controls immediately.

Figure G

Anatomy is taught by Professor Douglas and has a limit of 10 students.
Choose an item from the dropdown to update the three text controls and complete the sentence.

When applying this technique to your own work, you’ll need to personalize everything. Updating a few instances of content within a document that remains mostly the same is easy when you use content controls in Word.



Source link

istanbul escort aksaray escort arnavutköy escort ataköy escort avcılar escort avcılar türbanlı escort avrupa yakası escort bağcılar escort bahçelievler escort bahçeşehir escort bakırköy escort başakşehir escort bayrampaşa escort beşiktaş escort beykent escort beylikdüzü escort beylikdüzü türbanlı escort beyoğlu escort büyükçekmece escort cevizlibağ escort çapa escort çatalca escort esenler escort esenyurt escort esenyurt türbanlı escort etiler escort eyüp escort fatih escort fındıkzade escort florya escort gaziosmanpaşa escort güneşli escort güngören escort halkalı escort ikitelli escort istanbul escort kağıthane escort kayaşehir escort küçükçekmece escort mecidiyeköy escort merter escort nişantaşı escort sarıyer escort sefaköy escort silivri escort sultangazi escort suriyeli escort şirinevler escort şişli escort taksim escort topkapı escort yenibosna escort zeytinburnu escort porno 1080p porno izle 4k porno izle 720p porno izle abella danger alman alman porno alman porno izle aloha tube porno amatör amatör porno amatör porno izle anal anal porno anal porno izle arap porno asa akira porno asyalı porno bangbros porno bangbros porno izle banyoda sikis başörtülü porno beeg porno izle beyaz tenli porno izle biseksuel porno izle bisexsuel porno brandi love porno brazzers brazzers porno izle canli porno canli porno izle çinli porno çinli porno izle ensest porno ensest porno izle ensest seks erotik porno erotik porno izle esmer porno esmer porno izle etek altı fake agent fake taxi fake taxi porno fantazi pornoları fantezi porno izle fetiş porno fetiş porno izle fetish fransız porno fransız porno izle full hd hg porno izle gangbang porno genç kız porno izle genç kız sikişi genç teen porno izle gizli çekim porno gizli çekim pornosu grup pornosu grup porno grup porno izle hd pornolar hd porno hd porno izle hemşire porno hemşire pornosu hizmetçi porno hizmetçi porno izle ingiliz porno japon pornoları japon porno kızlık bozma kızlık bozma porno izle konulu porno konulu porno izle koreli porno köylü pornoları kumral porno kumral porno izle latin pornoları latin porno latin porno izle lezbiyen pornoları lezbiyen porno lezbiyen porno izle lisa ann porno liseli pornoları liseli porno liseli porno izle manken porno manken porno izle masaj porno izle masturbasyon porno izle masturbasyon pornoları mature porno mia khalifa porno mia malkova porno milf porno izle mobil porno mobil porno izle öğrenci porno izle öğretmen porno izle okul porno izle olgun kadın pornosu olgun porno oral porno oral porno izle oral seks porna izle pornhub pornhub porno izle porno film izle porno indir porno izle porno resimler porno star porntube porno izle redtube redtube pornoları riley reid porno rokettube rus pornoları rus porno rus porno izle sakso blowjob porno izle sarışın pornoları sarışın porno sarışın porno izle sarışın pornoları sekreter porno shemale sikiş sikiş sikiş izle şişman porno siyahi pornoları suriyeli pornoları swinger porno tecavüz porno teen porn türbanlı pornoları türbanlı porno türk pornoları türk porno türk porno izle türkçe altyazılı porno türkçe altyazılı porno izle xhamster pornoları xhamster porno xhamster porno izle xnxx xnxx porno xnxx porno izle xvideos xvideos porno izle yaşlı porno yeşilçam porno izle youjizz youporn youporn porno izle zenci porno güvenilir bahis siteleri bahis siteleri casino deneme bonusu casino siteleri deneme bonusu para yatırma bonusu bahis siteleri casino siteleribahis sitesi para yatırma