使用VBA宏统计Word内容控件下拉列表的已作答数量
Word VBA统计已完成内容控件入门指引
一、入门操作步骤
- 打开目标Word文档,按下
Alt + F11快速打开VBA编辑器 - 在左侧工程资源管理器中,右键点击当前文档的项目节点,选择「插入」→「模块」
- 在弹出的空白代码窗口中粘贴示例宏代码
- 按下
F5运行宏,或返回Word界面,通过「开发工具」→「宏」选择对应宏执行
二、示例宏代码
Sub CountCompletedDropdowns() Dim cc As ContentControl Dim completedCount As Integer completedCount = 0 '遍历文档内所有内容控件 For Each cc In ActiveDocument.ContentControls '仅筛选下拉列表类型控件 If cc.Type = wdContentControlDropdownList Then '判断是否已选择有效作答选项(排除默认的"choice"及空值) If cc.Range.Text <> "" And cc.Range.Text <> "choice" Then completedCount = completedCount + 1 End If End If Next cc '弹出统计结果弹窗 MsgBox "已完成作答的下拉列表控件数量:" & completedCount, vbInformation, "统计结果" End Sub
三、代码关键说明
wdContentControlDropdownList:精准定位下拉列表类型的内容控件,避免统计文本框、复选框等其他类型控件- 判断条件
cc.Range.Text <> "" And cc.Range.Text <> "choice":默认"choice"为未作答占位选项,仅当选择"Yes"或"No"时计入已完成统计 - 运行后会直接弹出对话框展示最终统计数值
四、基础注意事项
- 若Word界面未显示「开发工具」选项卡:可通过「文件」→「选项」→「自定义功能区」勾选「开发工具」
- 首次运行宏遇安全警告:可在「开发工具」→「宏安全性」中临时调整为「启用所有宏」(仅在信任的文档中操作)
内容的提问来源于stack exchange,提问作者John Simpson
相关产品推荐
相关产品推荐

