MS Word 2016中能否根据复选框勾选状态切换文本颜色?
在MS Word 2016中根据复选框状态切换文本颜色
Word 2016没有原生的条件格式支持复选框状态关联文本颜色,但可以通过内容控件+VBA宏或者旧式表单复选框+宏实现,具体步骤如下:
方法一:使用内容控件复选框(推荐)
- 显示「开发工具」选项卡:右键顶部菜单栏空白处,勾选「开发工具」
- 插入复选框:点击「开发工具」→「控件」组的「复选框内容控件」,将其插入到文档合适位置
- 给目标文本添加书签:选中需要变色的文本,点击「插入」→「书签」,命名为
TargetText并确定 - 编写触发宏:
- 按
Alt + F11打开VBA编辑器 - 在左侧工程窗格双击当前文档的
ThisDocument对象 - 粘贴以下代码:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) ' 匹配复选框标题,可根据实际修改 If ContentControl.Title = "状态复选框" Then If ContentControl.Checked Then ActiveDocument.Bookmarks("TargetText").Range.Font.Color = RGB(255, 0, 0) ' 红色 Else ActiveDocument.Bookmarks("TargetText").Range.Font.Color = RGB(0, 0, 0) ' 黑色 End If End If End Sub - 按
- 设置复选框标题:选中插入的复选框,右键→「属性」,将「标题」改为代码中的
状态复选框 - 保存文档:选择「启用宏的Word文档(.docm)」格式,否则宏无法生效
测试时,勾选复选框后点击文档其他区域,目标文本会变为红色;取消勾选则恢复黑色。
方法二:使用旧式表单复选框
- 插入旧式复选框:点击「开发工具」→「旧式工具」→「复选框(表单控件)」
- 设置复选框名称:右键复选框→「属性」,记住名称(比如
Check1) - 给目标文本添加书签:同方法一,命名为
TargetText - 编写点击宏:
- 按
Alt + F11打开VBA编辑器,双击ThisDocument - 粘贴以下代码:
Private Sub Check1_Click() If Check1.Value = True Then ActiveDocument.Bookmarks("TargetText").Range.Font.Color = RGB(255, 0, 0) Else ActiveDocument.Bookmarks("TargetText").Range.Font.Color = RGB(0, 0, 0) End If End Sub - 按
- 保存为
.docm格式,点击复选框即可直接切换文本颜色
内容的提问来源于stack exchange,提问作者Igor
相关产品推荐
相关产品推荐

