跳至主要内容

Kutools for 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文档中创建关联的下拉列表。

使用VBA代码在Word中创建关联的下拉列表


使用VBA代码在Word中创建关联的下拉列表

以下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. 点击“确定”。
      Drop-down Form Field Options dialog box
  4. 右键单击第二个下拉列表,选择“属性”,然后在“书签名称”框中输入“ddCategory”,点击“确定”。
    Drop-down Form Field Options dialog box
  5. Alt + F11 打开 Microsoft Visual Basic for Applications 窗口。
  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”,然后点击“确定”。
    Drop-down Form Field Options dialog box
  9. 点击“开发工具”>“限制编辑”。
    Restrict Editing button on the Developer tab on the ribbon
  10. 在“限制编辑”窗格中:
    1. 勾选“仅允许在文档中进行此类编辑”。
    2. 从下拉列表中选择“填写窗体”。
    3. 点击“是的,开始强制保护”。
    4. 在“开始强制保护”对话框中,设置密码并点击“确定”。
      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

最佳Office办公效率工具

Kutools for Word - 用超过100项强大功能全面提升你的Word体验!

🤖 Kutools AI 功能AI助手 / 实时助手 / 超级润色(保留格式)/ 超级翻译(保留格式)/ AI遮挡 / AI校正……

📘 文档掌控分割页面 / 文档合并 / 区域导出为多种格式(PDF/TXT/DOC/HTML等)/ 批量转换为PDF……

正文编辑跨多个文件批量查找与替换 / 一键调整所有图片大小 / 翻转表格行列 / 表格转文本……

🧹 高效清理:一扫多余空格 / 分节符 / 文本框 / 超链接 / 想了解更多删除工具,请前往删除分组……

创意插入:插入千位区分符 /复选框 /选项按钮 / 二维码 / 条形码 / 批量插入图片 / 更多内容请见插入分组……

🔍 精准选取:快速定位指定页面 / 表格 / 形状 / 标题段落 / 利用更多 选择 功能提升导航体验……

实用增强跳转任意区域 / 自动插入重复文本 / 文档窗口间一键切换 /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

📦 五大工具一站式集成 | 🔗 无缝兼容Microsoft Office | ⚡立即提升效率、节省时间

最佳Office办公效率工具

Kutools for Word - 100+ 项Word工具