Greg:

Thank you for your time. I enjoyed discovering your site today, it's now duly bookmarked in my Browser's Favorites.

I mocked up an example of my scenario, and it works. I'm just wondering what you Word experts think of the approach. In my real solution, my source data is relatively static, so I can probably get away with hard coding it in this instance. I'm hesitant to deliver a secondary file to which I must link to get the source data, but may do that. I think I'd just use a simple text file in this case.

Turns out in this project I have 28 items I must place in this dropdown, so looks like I'm using Content Controls.

Couple of questions...

How do you access the "Value" of the selected Item in a Content Control Drop Down? I couldn't find that in the object model or msdn help. I used the range.text property in the code below. I'd prefer to populate an "Index" number in the "Value" portion of the dropdownlistentry, and then use that in my code.

I'm guessing from your example file (thanks for that) that looping is the only way to get your selected item? Content Controls not as functionally rich as a Listbox with properties like listindex, selecteditem, etc?

Here's my little mock up...
In the ThisDocument Class...
[VBA]Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)

If ContentControl.Tag = "ddTest" Then
'loop the source data array to find the row of the selected item
For r = 1 To UBound(myData, 1)
If ContentControl.Range.Text = myData(r, 1) Then
'fill other text boxes
ActiveDocument.SelectContentControlsByTitle("Type").Item(1).Range.Text = myData(r, 2)
ActiveDocument.SelectContentControlsByTitle("Color").Item(1).Range.Text = myData(r, 3)
Exit For
End If
Next r
End If

End Sub

Private Sub Document_Open()

loadData

initalizeDropDown
[/VBA]

and in a separate module...

[VBA]Public myData(2, 3) As Variant


Public Sub loadData()
'Initialize the Public mydata Stroage Variable with Static Data
myData(1, 1) = "Banana"
myData(2, 1) = "Potato"

myData(1, 2) = "Fruit"
myData(1, 3) = "Yellow"

myData(2, 2) = "Vegetable"
myData(2, 3) = "Brown"

End Sub


Public Sub initalizeDropDown()

Dim oDD As ContentControl

Set oDD = ActiveDocument.SelectContentControlsByTitle("ddTester").Item(1)
For r = 1 To UBound(myData, 1)
oDD.DropdownListEntries.Add (myData(r, 1))
Next r
Set oDD = Nothing

End Sub
[/VBA]