Word макросы выпадающий список

Как показано на скриншоте слева, вам нужно ограничить выбор во втором раскрывающемся списке на основе параметра в первом раскрывающемся списке, как вы можете это сделать? В этой статье будет показан способ создания зависимых раскрывающихся списков в документе Word.

Создавать зависимые выпадающие списки в Word с кодом VBA


Создавать зависимые выпадающие списки в Word с кодом VBA

Приведенный ниже код VBA может помочь вам создать зависимый раскрывающийся список в документе Word. Пожалуйста, следуйте инструкциям шаг за шагом.

1. Во-первых, вам нужно вставить два раскрывающихся списка в ваш документ Word. Нажмите Застройщик > Устаревшие формы > Раскрывающееся поле формы. Смотрите скриншот:

2. Щелкните правой кнопкой мыши первый раскрывающийся список (этот раскрывающийся список должен быть родительским) и щелкните Свойства. Смотрите скриншот:

3. В дебюте Параметры поля раскрывающейся формы диалоговое окно, вам необходимо:

3.1 Введите категорию в Выпадающий элемент и нажмите Добавить кнопку, повторяйте операцию, пока все категории не будут добавлены в раскрывающийся список Элементы в.

3.2 Ввод ддфуд в закладка пунктом.

3.3 Щелкните значок OK кнопка. Смотрите скриншот:

4. Щелкните правой кнопкой мыши второй раскрывающийся список, щелкните Предложения открыть Параметры поля раскрывающейся формы диалоговое окно и в диалоговом окне введите ддКатегория в закладка и нажмите OK кнопка. Смотрите скриншот:

5. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

6. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модуль, затем скопируйте ниже код VBA в окно модуля.

Код VBA: создать зависимый раскрывающийся список в Word

Sub Populateddfood()
'Update by Extendoffice 2018/10/25
    Dim xDirection As FormField
    Dim xState As FormField
    On Error Resume Next
    Set xDirection = ActiveDocument.FormFields("ddfood")
    Set xState = ActiveDocument.FormFields("ddCategory")
    If ((xDirection Is Nothing) Or (xState Is Nothing)) Then Exit Sub
    With xState.DropDown.ListEntries
        .Clear
        Select Case xDirection.Result
            Case "Fruit"
                .Add "Apple"
                .Add "Banana"
                .Add "Peach"
                .Add "Lychee"
                .Add "Watermelon"
            Case "Vegetable"
                .Add "Cabbage"
                .Add "Onion"
            Case "Meat"
                .Add "Pork"
                .Add "Beef"
                .Add "Mutton"
        End Select
    End With
End Sub

Ноты:

1. В коде, пожалуйста, измените элементы для каждого случая по мере необходимости.

2. ддфуд и ддКатегория должны соответствовать параметрам закладки, которые вы ввели в двух предыдущих Параметры поля раскрывающейся формы диалоговые окна.

7. Сохраните код и вернитесь к документу.

8. Щелкните правой кнопкой мыши первый раскрывающийся список и выберите Предложения для открытия Параметры поля раскрывающейся формы диалоговое окно. В диалоговом окне выберите указанное выше имя макроса (здесь Popolateddfood) из Выход раскрывающийся список, а затем щелкните OK кнопку.

9. Теперь щелкните Застройщик > Ограничить редактирование как показано ниже.

10. в Ограничить редактирование панель, вам необходимо:

10.1) Проверьте Разрешить только этот тип редактирования в документе коробка;

10.2) Выбрать Заполнение форм вариант из выпадающего списка;

10.3) Нажмите Да, начать усиление защиты кнопка;

10.4). Начать усиление защиты диалоговом окне введите пароль и щелкните OK кнопка. Смотрите скриншот:

Теперь создается зависимый выпадающий список. При выборе «Фрукты» в первом раскрывающемся списке во втором можно выбрать только категории фруктов.


Рекомендуемые инструменты для повышения производительности Word

выстрел kutools word kutools tab 1180x121

выстрел kutools word kutools plus tab 1180x120

Kutools For Word — Более 100 расширенных функций для Word, сэкономьте 50% времени

  • Сложные и повторяющиеся операции можно производить разово за секунды.
  • Вставляйте сразу несколько изображений из папок в документ Word.
  • Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.

Комментарии (27)


Оценок пока нет. Оцените первым!

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

1 11.03.2012 08:41:12

  • Geniy_dzydo
  • рядовой
  • Неактивен
  • Зарегистрирован: 11.03.2012
  • Сообщений: 7

Тема: Связанный выпадающий список

Добрый день гуру Ворда. Хочу у вас спросить следующее: как сделать связанный выпадающий список, поясню, есть список (как его сделать в 10 ворде я понял:-)) в этом списке названия отделов — а вдругом «месте» (предполагаю что это поле или что еще))) фамилии начальников — так вот при выборе отдела фамилия должна ставиться автоматически. Помогите пожалуйста, как это устроить???

2 Ответ от aap77 01.04.2012 14:24:28

  • aap77
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 12.09.2011
  • Сообщений: 925
  • Поблагодарили: 243
  • За сообщение: 4

Re: Связанный выпадающий список

Вот самый простой способ создания связанного выпадающего списка.
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.

3 Ответ от Brain86 16.05.2012 14:31:21

  • Brain86
  • рядовой
  • Неактивен
  • Зарегистрирован: 15.05.2012
  • Сообщений: 1

Re: Связанный выпадающий список

не подскажите как тоже самое осуществить без использования шаблона, а также чтоб стрелка выпадающего списка не печаталась.

4 Ответ от mikkelle 13.09.2016 12:43:58

  • mikkelle
  • полковник
  • Неактивен
  • Зарегистрирован: 21.01.2010
  • Сообщений: 227
  • Поблагодарили: 12
  • За сообщение: 1

Re: Связанный выпадающий список

Brain86 пишет:

не подскажите как тоже самое осуществить без использования шаблона, а также чтоб стрелка выпадающего списка не печаталась.

1. Сохраняйте файл в формате *.docm
2. Что бы при печати не отображались рамка и стрелка, для элемента управления в свойствах выставите следующие параметры:
ShowDropButtonWhen = 1
SpecialEffect = 0
Для доступа к свойствам элемента управления на вкладке «Разработчик»  включите «Режим конструктора» и нажмите кнопку «Свойства»

5 Ответ от azur 12.06.2021 09:58:56

  • azur
  • сержант
  • Неактивен
  • Зарегистрирован: 06.08.2011
  • Сообщений: 27

Re: Связанный выпадающий список

aap77 пишет:

9. Файл примера прилагаю.

Здравствуйте!
Подскажите… Скачал файл примера: всё прекрасно работает! Респект.
Но… Сохраняю новый документ на основании этого шаблона. Открываю его. Предупреждение безопасности — разрешаю. Визуально ничего не изменилось, но в выпадающем списке остался только тот отдел, который был выбран в шаблоне на момент сохранения. А при клике по стрелке выпадает одна пустая строка, а не список…(
Подскажите, пожалуйста, почему список перестал работать?
Файл в прицепе.

Post’s attachments

Отдел.docx 22.19 Кб, файл не был скачан. 

You don’t have the permssions to download the attachments of this post.

В интерфейсах программного обеспечения, а также на сайтах часто используется такой интерактивный элемент как раскрывающийся список, позволяющий выбрать какую-то определенную опцию или значение.  А как насчет документов Word, можно ли вставить такой список в обычный вордовский файл? Да, можно. На сайте разработчика текстового редактора даже имеется инструкция по добавлению интерактивных элементов.

Правда, изложенная в такой форме, которая у начинающего пользователя может вызвать только недоумения.

Поэтому мы решили изложить ее более доступным и понятным языком.

Итак, чтобы иметь возможность использовать интерактивные элементы, сначала их нужно добавить на ленту инструментов Word.

Перейдите в меню «Файл»«Параметры»«Настроить ленту», отметьте флажком чекбокс «Разработчик» и сохраните настройки.

Файл

Параметры

В результате в области заголовка текстового редактора у вас появится одноименный раздел, следующий сразу после раздела «Вид». Переключитесь на него. Установите курсор в то место документа, в которое хотите вставить выпадающий список, и выберите в блоке «Элементы управления» значок «Элемент управления содержимым «раскрывающийся список»».

Элементы управления

Появится форма с текстом «Выберите элемент». По умолчанию она пуста и неактивна, чтобы добавить в нее элементы, нажмите в блоке «Элементы управления» ставшим активным пункт «Свойства». Также открыть свойства добавленной в документ формы можно из ее контекстного меню, но для этого в тех же «Элементах управления» сначала придется активировать режим конструктора.

Элементы управления

Откроется окошко свойств, в котором формируется список. В поле «Название» укажите текст, который станет отображаться над выпадающим списком. Это поле не является обязательным для заполнения, при желании шаг можно пропустить. То же самое касается поля «Тэг». Элемент свойств «Показывать как» определяет внешний вид выпадающего списка, здесь же можно выбрать цвет рамки и даже задать собственный визуальный стиль формы и шрифта.

Свойства

Чтобы добавить сами элементы списка, нажмите в окне свойств кнопку «Добавить», впишите в поле «Краткое имя» открывшегося диалогового окошка нужный вам текст и нажмите «OK». Точно так же добавьте второй, третий, четвертый и прочие элементы.

Добавить

Выпадающий список готов.

В неактивном состоянии он будет отображаться как подсвечиваемый серым и заданным цветом текст «Выберите элемент»,  а в активном, то есть при нажатии на него – как обведенный рамкой поле с импровизированной стрелкой-кнопкой, раскрывающей содержимое списка.

Выпадающий список

Примечание: вместо «Элемента управления содержимым «раскрывающийся список»» можно использовать «Элемент управления содержимым «поле со списком»». Оба инструмента позволяют создавать выпадающие списки, но второй отличается тем, что название действия по умолчанию (выберите элемент) можно заместить произвольным текстом, ничем не отличающимся от остального текста в Word-документе.

Раскрывающийся список

Загрузка…

На чтение 3 мин. Просмотров 965 Опубликовано 28.05.2021

Как показано на левом снимке экрана, вам необходимо ограничить выбор во втором раскрывающемся списке на основе параметра в первом раскрывающемся списке, как ты можешь сделать? В этой статье будет показан метод создания зависимых раскрывающихся списков в документе Word.

Создание зависимых раскрывающихся списков в Word с кодом VBA


Содержание

  1. Создание зависимых раскрывающихся списков в Word с кодом VBA
  2. Рекомендуемые инструменты повышения производительности Word
  3. Kutools For Word – Более 100 расширенных функций для Word, сэкономьте 50% времени

Создание зависимых раскрывающихся списков в Word с кодом VBA

Приведенный ниже код VBA может помочь вам создать зависимые раскрывающиеся списки в документе Word. Пожалуйста, следуйте инструкциям шаг за шагом.

1. Во-первых, вам нужно вставить два раскрывающихся списка в документ Word. Нажмите Разработчик > Устаревшие формы > Выпадающее поле формы . См. Снимок экрана:

2. Щелкните правой кнопкой мыши первый раскрывающийся список (этот раскрывающийся список должен быть родительским) и выберите Свойства. См. Снимок экрана:

3. В открывшемся диалоговом окне Параметры поля раскрывающейся формы вам необходимо:

3.1 Введите категорию в раскрывающийся элемент , а затем нажмите кнопку Добавить , повторяйте операцию, пока все категории не будут добавлены в раскрывающийся список «Элементы в».

3.2 Введите ddfood в поле Закладка .

3.3 Нажмите кнопку ОК . См. Снимок экрана:

4. Щелкните правой кнопкой мыши второй раскрывающийся список, выберите Свойства , чтобы открыть диалоговое окно Параметры поля формы раскрывающегося списка , и в диалоговом окне введите ddCategory в поле Закладка и нажмите кнопку ОК . См. Снимок экрана:

5. Нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений .

6. В окне Microsoft Visual Basic для приложений нажмите Вставить > модуль, затем скопируйте ниже код VBA в окно модуля. .

Код VBA: создание зависимого раскрывающегося списка в Word

Примечания:

1. В коде измените элементы для каждого случая по мере необходимости.

2. ddfood и ddCategory должны соответствовать параметрам закладок, которые вы ввели в двух вышеупомянутых диалоговых окнах Параметры поля раскрывающейся формы .

7. Сохраните код и вернитесь к документу.

8. Щелкните правой кнопкой мыши первый раскрывающийся список и выберите Свойства , чтобы открыть диалоговое окно Параметры поля формы раскрывающегося списка . В диалоговом окне выберите указанное выше имя макроса (здесь Popolateddfood) из раскрывающегося списка Exit , а затем нажмите кнопку OK .

9. Теперь нажмите Разработчик > Ограничить редактирование , как показано на скриншоте ниже.

10. На панели Ограничить редактирование вам необходимо:

10.1), установите флажок Разрешить только этот тип редактирования в поле документа ;

10.2) Выберите вариант Заполнение форм из раскрывающегося списка;

10.3) Нажмите кнопку Да, начать принудительную защиту ;

10.4) В диалоговом окне Начать принудительную защиту , введите пароль и нажмите кнопку OK . См. Снимок экрана:

Теперь зависимые раскрывающиеся списки созданный. При выборе «Фрукты» в первом раскрывающемся списке во втором можно выбрать только категории фруктов.



Рекомендуемые инструменты повышения производительности Word

Kutools For Word – Более 100 расширенных функций для Word, сэкономьте 50% времени

  • Сложные и повторяющиеся операции могут быть выполнены за один раз за секунды.
  • Вставьте сразу несколько изображений из папок в документ Word.
  • Объедините и объедините несколько Файлы Word из папок в одну в желаемом порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Преобразование файлов между документами. и Docx, Docx и PDF, сборник инструменты для обычных преобразований и выбора и так далее …

Подробнее Загрузить сейчас Купить


Понравилась статья? Поделить с друзьями:
  • Word макроса с параметрами
  • Word макрос шаблона файла
  • Word макрос чем открыть
  • Word макрос удалить строку в таблице
  • Word макрос таблицы ячейка