К Вашему счастью, я нашёл код, который делал на заказ 10 дней назад. Поскольку заказчик остался доволен, могу опубликовать код здесь:
Option Explicit
'Имя поля со списком. Менять только здесь
Private Const sDropDownName As String = "ПолеСоСписком1"
'Заголовок окна сообщений
Private Const sDialogTitle As String = "Вставка текста при выборе из списка"
Public Sub InsertCorrespondentText()
Dim n As Integer 'Порядковый номер выбранного элемента списка
Dim sText As String 'Текст, который должен вставляться в документ
Dim opar As Paragraph 'Абзац, в котором находится список
With ActiveDocument
With .Bookmarks
If .Exists(sDropDownName) Then
If .Item(sDropDownName).Range.FormFields(1).DropDown.Valid Then
n = .Item(sDropDownName).Range.FormFields(1).DropDown.Value
Set opar = .Item(sDropDownName).Range.Paragraphs.Last
Else: Exit Sub
End If
Else: Exit Sub
End If
End With
If Len(.BuiltInDocumentProperties("Comments")) <> 0 Then
sText = Split(.BuiltInDocumentProperties("Comments"), vbLf)(n - 1)
Else
MsgBox "В документе не заполнено свойство ""Комментарии""!", vbInformation + vbOKOnly, sDialogTitle
Exit Sub
End If
'Защита снимается, вносятся изменения и защита ставится вновь
If .ProtectionType = wdAllowOnlyFormFields Then
'В кавычках необходимо прописать пароль для снятия защиты, если он есть
.Unprotect ""
'Текст абзаца, следующего за списком изменяется на соответствующий текст
opar.Next.Range.Text = sText & vbCr
'Ставим защиту назад. Если необходимо, то в кавычках нужно указать пароль
.Protect wdAllowOnlyFormFields, , ""
End If
End With
End Sub
Текст для вставки берётся из свойства "Комментарий" построчно в зависимости от номера выбранного элемента списка.
Лучше день потерять — потом за пять минут долететь!