Вот самый простой способ создания связанного выпадающего списка.
1. Создайте новый шаблон и сохраните его в папке шаблонов Word под оригинальным именем, например Список.dot
2. В первом абзаце наберите "Отдел " и вставьте форму выпадающего списка, в свойствах списка присвойте ему имя cmb_Отдел.
3. Во втором абзаце наберите "Руководитель " и вставьте форму TextBox, в свойствах присвойте ей имя txtРуководитель.
4. В редакторе VBA откройте модуль ThisDocument шаблона Список и создайте 2 взаимосвязанных свойства Список Отделов и Список руководителей, пример:
Public Property Get lstСписокОтделов() As Variant ' Свойство список отделов
Dim lst(1 To 5) As String
lst(1) = "Проектирования"
lst(2) = "Сборки"
lst(3) = "Доставки"
lst(4) = "Маркетинга"
lst(5) = "Бухгалтерия"
lstСписокОтделов = lst
End Property
Public Property Get lstСписокРуководителей() As Variant ' Свойство список руководителей
Dim lst(1 To 5) As String
lst(1) = "Иванов И.И."
lst(2) = "Петров П.П."
lst(3) = "Сидоров С.С."
lst(4) = "Смиронова М.А."
lst(5) = "Потапова Т.С."
lstСписокРуководителей = lst
End Property
5. Теперь создадим процедуру создания новых документов на основе шаблона список:
Private Sub Document_New() ' Создание нового документа
ActiveDocument.cmb_Отдел.List = lstСписокОтделов
ActiveDocument.cmb_Отдел.ListIndex = 0
End Sub
Данная процедура заполняет наш всплывающий список и присваивает свойству Text 1-е значение списка.
6. Теперь создадим процедуру которая будет вставлять в текстовое поле фамилию руководителя в зависимости от выбранного раздела и будет выполняться в том случае если значение списка равно одному из выбранных разделов:
Private Sub cmb_Отдел_Change()
If ActiveDocument.cmb_Отдел.ListIndex >= 0 Then
ActiveDocument.txtРуководитель.Text = lstСписокРуководителей(ActiveDocument.cmb_Отдел.ListIndex + 1)
End If
End Sub
7. Сохраните шаблон и закройте.
8. Теперь откройте меню Файл --> Создать --> Мои шаблоны и выберете шаблон список, проверьте что выбрано создание нового документа, а не шаблона. Проверьте работу кода выбирая разные отделы в всплывающем списке.
9. Файл примера прилагаю.
Post's attachmentsСписок.dot 31.5 Кб, 153 скачиваний с 2012-04-01
You don't have the permssions to download the attachments of this post.