Solved

How can I dynamically populate a combo box list based on a previous list box choice using Word 2007 Content Controls

Posted on 2010-11-22
2
597 Views
Last Modified: 2012-05-10
I'm designing a tabular form in Word 2007 to be used across my firm's IT deptartment for Change Management. I'd like to use a content control list box to display a list of systems (i.e. 'Front End', 'Back End', 'Database', 'Infrastructure', 'Batch', etc.). Selecting a member of this list would cause a list of names to be available in a combo box of Resources. The user would then select one member of this resource list. A different list of resources would be available for selection based on the selection made in the Systems list box. For now, at least, resource lists would be maintained in document source code.

I've developed several Excel applications using VBA, but have never ventured into Word. I'm trying to determine if I can use these nice-looking content controls to accomplish my task, or should just stick with VBA controls.

Have looked around extensively for materials that discuss how to code for these content controls, without any luck. In addition to advice on my question, would also greatly appreciate any feedback on resource material on coding for these content controls - books, tutorials, etc.
0
Comment
Question by:DBuzzell
2 Comments
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 250 total points
ID: 34187920
You need some code like this. It goes in the ThisDocument module of the document.

Note that it uses the Tag property to distinguish between controls, sot that needs to be set for both.
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim cc2 As ContentControl
    If ContentControl.Tag = "First" Then
        For Each cc2 In ActiveDocument.ContentControls
            If cc2.Tag = "Second" Then
                cc2.DropdownListEntries.Clear
                Select Case ContentControl.Range.Text
                    Case "Red"
                        cc2.DropdownListEntries.Add "Scarlet"
                        cc2.DropdownListEntries.Add "Vermillion"
                    Case "Blue"
                        cc2.DropdownListEntries.Add "Navy"
                        cc2.DropdownListEntries.Add "Azure"
                End Select
            End If
        Next cc2
   End If
End Sub

Open in new window

0
 

Author Closing Comment

by:DBuzzell
ID: 34273775
The solution provided the foundation for me to code a complete solution
0

Featured Post

ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

It is often necessary in this forum and others to illustrate Word fields as text with the field delimiters replaced with the curly brackets that the delimiters resemble when field codes are being displayed on the document. This means that the text c…
I'm writing to share my clumsy experience in using this elegant tool so you can avoid every stupid mistake I made. (I leave it to the authorities to decide if this deserves a place in the Knowledge archives.)  Now that I am on the other side of my l…
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question