答案1
替换是要使用的方法。这里有两个宏,它们可以一起完成您想要的操作。
第一个宏调用第二个宏两次,指定文本和颜色。
Sub ColorYesNo()
' Charles Kenyon 2022-08-16
' Use with ColorSelection below
Call ColorSelection("Yes", wdColorGreen)
Call ColorSelection("No", wdColorRed)
End Sub
第二个宏使用文本和颜色参数对文档正文中的文本进行替换。这可能无法到达页眉、页脚或文本框。
Private Sub ColorSelection(strText As String, lColor As WdColor)
' Charles Kenyon 2022-08-16
' Called by another procedure such as ColorYesNo
' Applies lColor to strText in the body of the document
Dim rng As Range
Set rng = ActiveDocument.Range
With rng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Color = lColor
.Text = strText
.Replacement.Text = strText
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = True
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Replacement.ClearFormatting
.Text = ""
.Replacement.Text = ""
End With
End Sub
这设置为仅替换完整的单词。
有关宏安装说明,请参阅:
- 从论坛或网站安装宏的说明作者:Graham Mayor,MVP。
- 安装/使用 VBA 程序(宏)作者:Greg Maxey,MVP。
第一个相当全面,可以追溯到 Word 的菜单版本。第二个对于新手来说可能更容易,但涵盖的内容并不多。
您可以将键盘快捷键附加到第一个(短)宏,因为添加更多项目时需要运行它。这是我在 Microsoft 网站上关于分配键盘快捷键。