How to Create a Word Dropdown That Inserts Predefined Paragraphs
Question details
The user wants to create a dropdown menu in a Word document that automatically inserts specific predefined multiline or bulleted content upon selection.
- Product
- Microsoft Word
- Device & OS
- not provided
- Scenario
- Creating dynamic forms or templates with selectable choices (e.g., Engineering, Operations, Administration) that populate corresponding detailed text blocks without manual typing.
- Observed behavior
- The user needs a method to link dropdown list selections directly to predefined paragraph insertions, seeking both macro-free and VBA-based solutions.
Ensure the Developer tab is enabled in your Word ribbon, as you will need access to Content Controls and potentially the Visual Basic editor to configure these dynamic fields.
Use a Building Blocks Gallery Content Control (No Code)
This is the easiest and most recommended method as it avoids VBA programming. You can save your multiline paragraphs as Building Blocks and let users select them directly from a gallery control.
Building Blocks allow you to save chunks of text, including formatting and bullet points, and insert them anywhere. By wrapping them in a gallery content control, it acts like a dropdown menu for predefined paragraphs.
Type out your predefined bulleted or multiline paragraphs in a blank document. Select the text, go to Insert > Quick Parts > Save Selection to Quick Part Gallery. Assign it a unique category like 'Department Paragraphs'.
Navigate to the Developer tab. Place your cursor where you want the dropdown to appear and click the 'Building Block Gallery Content Control' icon.
Select the newly inserted control and click 'Properties' in the Developer tab. Under the Document Building Block properties, set the Gallery to 'Quick Parts' and the Category to 'Department Paragraphs'.
To ensure the building blocks are available to other users, save the file as a Word Template (.dotx) rather than a standard document.
Automate Text Insertion via VBA and Content Controls
Use VBA to automatically populate a rich-text content control with specific bulleted paragraphs based on a user's selection in a standard drop-down menu.
Create Dynamic Forms and Templates Easily with WPS Office
WPS Office Writer provides robust tools for creating interactive forms, inserting AutoText, and building professional templates without complex coding. It supports rich document controls and is highly compatible with Microsoft Word.
- 1. Enable the Developer Tools: Open WPS Writer, go to Menu > Options > Customize Ribbon, and check the 'Developer' tab to access form controls.
- 2. Insert a Drop-Down Form Field: Navigate to the Developer tab, click on 'Drop-Down Form Field', and double-click the inserted field to add your custom dropdown items.
- 3. Use AutoText for Predefined Paragraphs: Highlight your predefined paragraphs in the document, go to the Insert tab, click AutoText, and save them. You can easily access and insert these blocks whenever filling out the form.

Frequently Asked Questions
Do I have to use macros (VBA) to insert predefined text from a dropdown?
No. Using the Building Blocks Gallery Content Control allows you to create a dropdown menu of predefined text blocks, including formatting and bullet points, without writing any VBA code.
How do I show the Developer tab in Word to access Content Controls?
Go to File > Options > Customize Ribbon. In the right-hand pane, check the box next to 'Developer' and click OK. The tab will now appear on your ribbon.
Why isn't my Document_ContentControlOnExit VBA code triggering?
The 'OnExit' event only triggers when the user clicks out of the content control. After making a selection in the dropdown, the user must click elsewhere in the document for the text to update.
Can I share a document with Building Blocks attached?
Building blocks are typically saved in your local template (Normal.dotm) or Building Blocks.dotx. To share them, you must save the building blocks inside the specific document template (.dotx) and share that template file with the end user.




