KutoolsforOffice— 一套方案,五大工具。事半功倍。

如何在 Word 文档中创建动态列表?

作者Siluvia修改日期
示例展示如何根据第一个下拉列表中选择的选项限制第二个下拉列表的可选项

如截图所示,您或许希望根据第一个下拉列表的选择来限定第二个下拉列表中的选项。本文将为您演示如何在 Word 文档中创建动态列表。

使用 VBA 代码在 Word 中创建动态列表


使用 VBA 代码在 Word 中创建动态列表

以下 VBA 方法可帮助您创建一个动态列表,实现第二个列表会根据第一个列表的选择自动变化。请按照以下步骤操作:

  1. 请确保您的 Word 功能区中已显示“开发工具”选项卡(如未显示,请参考教程)如何在 Word 中显示开发工具选项卡?)。然后点击“开发工具”>“旧版表单”>“下拉表单域”两次,即可插入两个下拉列表。
    开发工具选项卡中选择了旧版表单,突出显示了下拉表单域
  2. 右键点击第一个下拉列表(作为父列表),然后选择“属性”。
    右键点击第一个下拉列表并选择了属性选项
  3. 在“下拉表单域选项”对话框中:
    1. 请依次在“下拉项”框中输入各类别(如“水果”、“蔬菜”、“肉类”),每输入一个类别后,点击一次“添加”。
    2. 在“书签”框中输入 ddfood
    3. 单击“确定”按钮。
      下拉表单域选项对话框
  4. 右键点击第二个下拉列表,选择“属性”,在“书签”框中输入“ddCategory”,然后点击“确定”。
    下拉表单域选项对话框
  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”,然后点击“确定”。
    下拉表单域选项对话框
  9. 点击“开发工具”>“限制编辑”。
    功能区开发工具选项卡中的限制编辑按钮
  10. 在“限制编辑”窗格中:
    1. 勾选“仅允许在文档中进行此类编辑”。
    2. 在下拉列表中选择“填写表单”选项。
    3. 单击“是,立即启动强制保护”。
    4. 在“开始强制保护”对话框中设置密码后,单击“确定”。
      限制编辑窗格和启动强制保护对话框

此时,动态列表已被激活。当您在第一个列表中选择“水果”后,第二个列表将仅显示与水果相关的选项。

示例展示如何根据第一个下拉列表中选择的选项限制第二个下拉列表的可选项

最佳办公效率工具

Kutools for Word——集成超过 100 项卓越功能,全面提升您的 Word 体验!

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

📘 文档精通分割页面/文档合并/批量选择导出为多种格式(PDF/TXT/DOC/HTML……)/批量转换为 PDF……

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

🧹 轻松清理:一键清除多余空格/分节符/文本框/超链接/ 想要更多清理工具,请前往移除分组……

创意插入:插入千位分隔符/复选框/选项按钮/二维码/条形码/多图插入/ 更多插入选项请查看插入分组……

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

明星增强功能跳转到任意位置/自动插入重复文本/在多个文档 Windows 间切换/11 转换工具……

🌍 支持 40+ 种语言:无论您身处何地,Kutools 均支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Word
 
 

Office Tab- 为 Office 带来标签式界面,让您的工作更轻松高效

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中,轻松启用标签式编辑与阅读功能。
  • 在同一窗口中打开和创建多个文档标签,而非在新窗口中分别打开。
  • 让您的工作效率提升 50%,每天为您减少数百次鼠标点击!

✨ 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 工具