Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как создать зависимые выпадающие списки в документе Word?

Author Siluvia Last modified
Example showing limiting the choices in the second drop-down list based on the selected option in the first drop-down list

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

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


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

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

  1. Убедитесь, что вкладка "Разработчик" видна на ленте Word (если нет, см. руководство Как показать вкладку Разработчик в Word?). Затем вставьте два выпадающих списка, нажав "Разработчик" > "Устаревшие формы" > "Выпадающее поле формы" дважды.
    Developer tab with Legacy Forms selected and Drop-Down Form Field highlighted
  2. Щелкните правой кнопкой мыши первый выпадающий список (это будет родительский список) и выберите "Свойства".
    First drop-down list right-clicked with Properties option selected
  3. В диалоговом окне "Параметры выпадающего поля формы":
    1. Введите категории (например, "Фрукты", "Овощи", "Мясо") в поле "Элемент выпадающего списка" по одному, нажимая "Добавить" после каждого.
    2. Введите "ddfood" в поле "Закладка".
    3. Нажмите "OK".
      Drop-down Form Field Options dialog box
  4. Щелкните правой кнопкой мыши второй выпадающий список, выберите "Свойства", введите "ddCategory" в поле "Закладка" и нажмите "OK".
    Drop-down Form Field Options dialog box
  5. Нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
  6. В окне VBA нажмите "Вставить" > "Модуль", затем вставьте следующий код:
    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

    Примечания:

    • В коде измените элементы под каждым оператором "Case" в соответствии с вашим содержанием.
    • "ddfood" и "ddCategory" должны соответствовать именам закладок, которые вы ввели в диалоговых окнах "Параметры выпадающего поля формы".
  7. Сохраните код и вернитесь к вашему документу.
  8. Щелкните правой кнопкой мыши первый выпадающий список снова и выберите "Свойства". В появившемся диалоговом окне "Параметры выпадающего поля формы" из выпадающего списка "Выход" выберите имя макроса "Populateddfood", затем нажмите "OK".
    Drop-down Form Field Options dialog box
  9. Нажмите "Разработчик" > "Ограничить редактирование".
    Restrict Editing button on the Developer tab on the ribbon
  10. В панели "Ограничить редактирование":
    1. Отметьте "Разрешить только этот тип редактирования в документе".
    2. Выберите "Заполнение форм" из выпадающего списка.
    3. Нажмите "Да, начать применение защиты".
    4. В диалоговом окне "Начать применение защиты" установите пароль и нажмите "OK".
      Restrict Editing pane and Start Enforcing Protection dialog

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

Examples showing limiting the choices in the second drop-down list based on the selected option in the first drop-down list

Лучшие инструменты для повышения производительности в офисе

Kutools for Word — Поднимите свой опыт работы с Word на новый уровень, используя более 100 впечатляющих функций!

🤖 Возможности ИИ Kutools: AI Ассистент / Ассистент в Реальном Времени / Супер Полировка (Сохраняет форматирование) / Супер Перевод (Сохраняет форматирование) / Искусственный интеллект для редактирования / Проверка с помощью ИИ...

📘 Мастерство работы с Документом: Разделить страницы / Объединить документы / Экспортировать диапазон в различные форматы (PDF/TXT/DOC/HTML...) / Пакетное преобразование в PDF...

Редактирование текста сообщения: Пакетный поиск и замена в нескольких файлах / Изменить размер всех изображений / Транспонировать строки и столбцы таблицы / Преобразовать таблицу в текст...

🧹 Легкая очистка: Удалить лишние пробелы / Разрывы разделов / Текстовые поля / Гиперссылки / Для получения дополнительных инструментов удаления перейдите в группу Удалить...

Креативные вставки: Вставить тысячные разделители / Флажки / Переключатели / QR-код / Штрихкод / Несколько изображений / Узнайте больше в группе Вставить...

🔍 Точные выделения: Определить конкретные страницы / Таблицы / Фигуры / Абзацы заголовков / Улучшайте навигацию с помощью дополнительных функций выбора...

Особые улучшения: Перейти к любому диапазону / Автоматическая вставка повторяющегося текста / Переключение между окнами документа /11 инструментов преобразования...

🌍 Поддержка более40 языков: Используйте Kutools на предпочитаемом языке — поддерживаются Английский, Испанский, Немецкий, Французский, Китайский и еще более40 языков!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Хотите попробовать эти функции? Загрузите Kutools for Word сейчас! 🚀
 

✨ Kutools for Office — Одна установка, пять мощных инструментов!

Включает Office Tab Pro · Kutools for Excel · Kutools for Outlook · Kutools for Word · Kutools for PowerPoint

📦 Получите все5 инструментов в одном пакете | 🔗 Бесшовная интеграция с Microsoft Office | ⚡ Мгновенно экономьте время и повышайте продуктивность

Лучшие инструменты для повышения производительности в офисе

Kutools for Word - 100+ инструментов для Word